Massimiliano Allegri's men cruised to victory in a match that they dominated from start to finish against the Biancocelsti, who were reduced to 10 men early in the first half
Antonio Candreva was sent off in the 17th minute and although the Rossoneri dominated, it took them until the 40th minute to take the lead through Giampaolo Pazzini. Kevin-Prince Boateng added a second before the break and Pazzini rounded off the scoring with his second to send his side into third place.
It did not always look like it was going to be Milan's night though, as they saw two great chances go begging inside the opening five minutes.
Stephan El Shaarawy was the first to threaten, latching on to a loose ball in the area, only to be thwarted by Federico Marchetti at the near post.
The 20-year-old remained at the heart of the action and just moments later he knocked the ball past the keeper and was pulled down by Marchetti. It could well have been a penalty yet nothing was awarded and Boateng's goalbound effort from the loose ball was cleared off the line by Giuseppe Biava.
Vladimir Petkovic's team were clearly struggling to deal with El Shaarawy and that task became even more daunting in the 16th minute. The striker skipped inside of Biava and was felled on the edge of the area by Candreva, who was subsequently dismissed.
The red card served to further enhance the Rossoneri's dominance, but the opening goal remained elusive. A brilliant Mattia De Sciglio cross from the left was narrowly missed by Boateng and Pazzini before bending just outside of the post.
Pazzini continued to get into dangerous areas and he finally got his reward in the 40th minute. Stefan Radu's poor clearance was struck straight back at goal by Ignazio Abate and, although Marchetti was equal to it, the striker poked the rebound into the back of the net.
Milan then doubled their lead before half-time as Boateng tucked the ball home after Marchetti had done brilliantly to keep out Pazzini's initial header.
The Biancocelesti attempted to work their way back into the game in the second half but struggled to create chances with their one-man deficit.
However, any hopes of a potential fightback were dashed on the hour mark as another awful attempt at a clearance from Radu fell to Pazzini. The striker rolled the ball out of his feet and then lashed a thunderous 25-yard strike past Marchetti and into the bottom corner.
A fourth should well have followed soon after, but Pazzini failed to complete his hat-trick as he sliced a volley wide of the goal. And after the striker was substituted, El Shaarawy then saw a curling effort fly just wide of the far post in the 70th minute.
The game lost its momentum as the contest drew to a close, but M'Baye Niang came close to capping an impressive cameo with a goal, as his shot from the edge of the box skimmed the crossbar.
Victory sees Milan leapfrog Lazio into third position, and into a Champions League qualification spot.