A Samu Castillejo inspired Milan cut the gap to city rivals Inter to just one point on Friday, thanks to a convincing victory against struggling Empoli at San Siro.
The Rossoneri went into the lead when Krzysztof Piatek tapped in from Hakan Calhanoglu's low cross and took a firm grip on the game after Franck Kessie surged through and dinked past Bartlomiej Dragowski.
Castillejo's smart finish from Andrea Conti's cross capped a great win for Gennaro Gattuso's side and pushed them four points clear of Roma, consolidating their position of fourth in Serie A.
Empoli offered sparks in attacking areas but couldn't muster anything to trouble Milan's defence.
Key Talking Point
Piatek now has five goals in five league games for his new side after banging them in for Genoa, and his performances alongside new signing Lucas Paqueta have made a massive difference to Milan's hopes for the second half of the season.
Having been knocked out of the Europa League rather humorously (at least from a neutral perspective), Milan now look to have the balance of a team capable of making inroads in the Champions League as they look to qualify for Europe's premier club competition.
With Alessio Romagnoli and Mateo Musacchio solid at the back, Paqueta and Kessie adding attacking guile in central midfield and Piatek defying doubters up front, things are finally looking up for Milan, for the time being at least.
Starting XI: Donnarumma (6); Conti (8), Musacchio (7), Romagnoli (7), Rodriguez (7); Kessie (8), Bakayoko (7), Paqueta (6); Castillejo (9*), Piatek (8), Calhanoglu (7).
Substitutes: Borini (7), Cutrone (6).
STAR MAN - Castillejo has had to make do with substitute appearances for the majority of the season but stepped up in Suso's absence to deliver a fine performance on Friday.
The Spaniard teed up Kessie for Milan's second and his composed finish ensured Milan deservedly took all three points.
Starting XI: Dragovsky (6); Veseli (5), Silvestre (6), Dell'Orco (6); Lorenzo (5), Krunic (5), Bennacer (6), Acquah (5), Pasqual (5); Farias (6), Caputo (5).
Substitutes: Ucan (5), La Gumina (5), Pajac (5).
Fixtures against Parma, Roma and Frosinone come next for Empoli as the Serie A minnows look to put distance between themselves and the relegation zone.