The Rossoneri have been leading the way in Italy this season, but five points from their previous three fixtures had allowed bitter rivals Inter to leapfrog them into first pre-match, while Lazio themselves had been climbing the table in pursuit.
With the Nerazzurri beating Hellas Verona 2-1 just moments before Stefano Pioli’s men took the field 165 kilometres away, Milan knew that only a victory would see them finish 2020 in first place, but they struggled after a bright start.
An early Ante Rebic goal on ten minutes was followed by a Hakan Calhanoglu penalty, but after Luis Alberto and Ciro Immobile responded for the Biancocelesti, a stalemate looked to be on the cards until Theo Hernandez headed home in injury-time.
Despite conceding five minutes after Rebic’s unmarked header, when Calhanoglu punished Patric for blocking another Rebic effort with his hand on 15 minutes, the Eternal City side almost equalised, but Adam Marusic shot narrowly past the post.
However, with Milan looking dominant, Lazio were finally on the scoresheet on 27 minutes, if under somewhat fortunate circumstances, when Joaquin Correa was awarded the second penalty of the game.
After bursting into the box and forcing a corner kick, Rossoneri defender Pierre Kalulu made contact with the Spaniard’s heel as they rose to challenge for a header and VAR intervention resulted in a penalty.
Biancocelesti captain Ciro Immobile struck low and hard to Gianluigi Donnarumma’s right, but the Italian ‘keeper made an excellent save, only to see Luis Alberto head home the rebound.
The capital side dominated the remainder of the first period, as the Rossoneri attempted to recover from that brief setback and continued in the same vein when the match resumed after the break.
On 60 minutes Lazio were deservedly level when Sergej Milinkovic-Savic played a delicate chip over the Milan defence that Immobile struck first-time on the volley to steer carefully past a helpless Donnarumma.
As the game wore on, and with Milan missing a number of key players, the Biancocelesti continued to look the better side, and Donnarumma made crucial interventions to deny Luis Alberto and Vedat Muriqi.
The Rossoneri still had chances to win the match, though, only for Lazio goalkeeper Pepe Reina to make a stunning low save from Rebic on 85 minutes and the Croatian wasted another chance seconds later.
However, after four games in 10 days, both sets of players tired significantly during the latter stages of the contest, and would probably have been somewhat content with a point, until Hernandez struck.
When Calhanoglu swung over a high and curling corner two minutes into stoppage time, the full-back still had enough spring in his step to rise highest and head powerfully past Reina.
The win means Milan spend Christmas on top of Serie A with a one-point lead over city rivals Inter, and seven points separating the Rossoneri from Roma in third.