Stefano Pioli’s side – which beat Celtic 3-1 in its group opener last week – was sharp from the outset and went ahead after 24 minutes courtesy of Brahim Diaz's smart finish.
Milan talisman Ibrahimovic struck the crossbar from 12 yards nine minutes before the interval, but his half-time replacement Rafael Leao doubled the Rossoneri's advantage in the 57th minute.
On-loan Manchester United defender Diogo Dalot then scored his first goal for the club as Milan wrapped up all three points at a canter.
Ibrahimovic twice went close with headers in the early stages as Milan started brightly.
The Swede then played a pivotal role in Milan's opener after 24 minutes, sliding the ball across goal for Diaz – who had started the move by stealing possession on the halfway line – to cut inside and fire underneath Milan Heca for his third goal of the season.
Heca raced off his line to deny Rade Krunic moments later before Ibrahimovic wasted a golden opportunity to extend Milan's lead, clipping his spot-kick against the crossbar after he had been pulled back inside the area by David Lischka.
Ibrahimovic was replaced at half-time by Leao, who was denied four minutes into the second period by Heca after being played through by Sandro Tonali.
Leao got the better of the Sparta goalkeeper shortly before the hour mark, though, stroking home from close range following Dalot's sumptuous low ball across the penalty area with the outside of his foot.
Dalot added a third in the 66th minute with a deflected strike from 20 yards that crept inside Heca's right-hand post to seal Milan's routine victory.