Lazio held a two-goal lead at the Stadio Olimpico and still could not beat AC Milan, as a substitute Diego Moreira scored twice in two minutes to rescue a 2-2 draw for Ruben Amorim's side and deny Ivan Gattuso's hosts what would have been a fourth consecutive Serie A win.
The first half belonged entirely to Lazio. Lazio forward Matteo Cancellieri opened the scoring at 10', finishing from an assist by Mattia Zaccagni to give the home side the lead they had earned through their early dominance. Tijjani Noslin, Lazio's other forward, doubled the advantage at 39' — unassisted, the goal arriving just before the interval to leave Amorim's AC Milan with a mountain to climb. Lazio had entered the match having won all three of their Serie A fixtures without conceding more than one goal in any of them; the first half looked like a continuation of exactly that.
Amorim responded at half-time with three simultaneous substitutions. Christian Pulišić came on for Ruben Loftus-Cheek, Diego Moreira for Pervis Estupiñán, and Yunus Musah for Luka Modrić — a wholesale reshaping of the Milan midfield and attack. Gattuso answered at 58' with changes of his own, withdrawing both goalscorers: Gustav Isaksen replaced Cancellieri and Andrea Pinamonti came on for Noslin. That the two players who had built the lead were off the pitch within thirteen minutes of the restart is a fact worth noting; the data offers no stated reason for either change.
The match turned in a two-minute window. At 65', AC Milan midfielder Diego Moreira — on the pitch for fewer than twenty minutes — pulled one back with Pulišić providing the assist. At 67', Moreira struck again, this time set up by Adrien Rabiot, and the Stadio Olimpico's two-goal cushion had evaporated entirely. Moreira finished the match with a rating of 9.0, the highest of any player on either side, across just 49 minutes of action. That a player introduced at half-time could reshape a fixture so completely is the central fact of this match.
For Lazio, the regret is structural as much as tactical. Gattuso's side had controlled the first half with the kind of efficiency that had defined their early season — three Serie A wins, goals conceded sparingly — and then conceded twice in the space of 120 seconds after their own substitutions had disrupted the rhythm they had built. Zaccagni, who collected a yellow card at 78', and Davide Frattesi both played the full match and rated among Lazio's best performers, but the team's inability to manage the game's closing stages after leading 2-0 is the question this result leaves open.
Milan's own form context makes the point from the other direction. Amorim's side had drawn at Juventus the previous weekend — a result that suggested they were capable of competing at the top end of the table without yet finding consistency. The draw at the Olimpico extends that pattern: two draws in their last three matches across all competitions, but no defeats in four. Lazio, unbeaten in Serie A this season, sit top of the table on 10 points from four matches. Milan move to 8 points from four, five substitutes and a half-time overhaul having earned them a point they looked unlikely to take at the break.
Two goals up at half-time and still unable to win: Lazio's early-season authority is intact on paper, but this is the kind of draw that lingers.