Gianluca Lapadula, taking advantage of the absence through injury of Colombia striker Carlos Bacca, bagged a brace -- a goal in either half -- while Spaniard Suso also hit the target. An own goal from Andrea Costa completed the rout.
The win provisionally moved the Milanese three points of Roma though they stay four adrift of leaders Juventus, in action Sunday at Genoa while Roma host Pescara.
Empoli remain in the bottom four.
In Saturday's other game, Joe Hart's Torino thanked a double inside three first half minutes from Spanish forward Falque for a 2-1 win over Chievo which moved them level on points with Lazio and Atalanta in fourth spot.
Roberto Inglese headed a late consolation past England keeper Hart.
Lazio visit struggling Palermo on Sunday while Atalanta are in action at midtable Bologna.