AC Milan defeated Atalanta 3-2 at the Stadio Giuseppe Meazza on Sunday, and the result turned less on quality than on a sequence of VAR interventions and a penalty miss that left Maurizio Sarri's side chasing a deficit they had largely gifted to the home team.
The first decisive passage came in the opening quarter-hour. AC Milan forward Christian Pulišić had what appeared to be the opener cancelled by VAR at 13', only for the technology to swing back in Milan's favour nine minutes later when a penalty was confirmed against Atalanta at 22'. AC Milan forward Gonçalo Ramos converted from the spot at 24' to give the hosts the lead they had briefly thought they already owned. The cancelled goal and the awarded penalty arrived within nine minutes of each other — a VAR double-act that compressed the match's emotional arc before it had properly begun.
The second passage was more straightforwardly Milan's own work. AC Milan forward Adrien Rabiot collected a yellow card at 41', then scored to make it 2-0 at 43', assisted by AC Milan midfielder Diego Moreira. Atalanta went into the interval two goals down, and the shape of the afternoon was already set. Ruben Amorim's side had not simply taken their chances; they had accumulated a structural advantage that Atalanta would need two goals to overturn.
The third decisive sequence arrived in a compressed six-minute window after the break. A second VAR review confirmed a penalty for Milan at 55', but this time Ramos missed — the same forward who had converted the first. Thirty seconds later, at 57', AC Milan defender Mario Gila turned the rebound situation into a goal, assisted by Rabiot, to make it 3-0. Ramos's miss mattered less than it might have; Gila's goal immediately after it meant Atalanta still faced a three-goal mountain.
Rabiot was the figure who shaped this match most completely. The booking, the goal, the assist for Gila — three separate contributions in the space of sixteen minutes either side of half-time. His goal at 43' came from a Moreira assist; his pass at 57' created the third. For a player who had already been cautioned, the willingness to remain central to Milan's attacking structure rather than retreat into caution was the most telling detail of his afternoon.
Atalanta's response was genuine but structurally too late. Maurizio Sarri's side had arrived at the Meazza having won just two of their last five matches, and the pattern of that run — two wins, no draws, three defeats — suggested a team without the resilience to absorb early setbacks. Sarri turned to his bench at 59', introducing Gianluca Gaetano and Nicola Zalewski simultaneously, and the effect was immediate: Gaetano scored at 66', assisted by Zalewski, to make it 3-1. Nikola Krstović added a second at 81', assisted by Raoul Bellanova, and suddenly the final scoreline looked closer than the match had been. Three goals down with thirty minutes remaining is a different problem from two goals down with ten: Atalanta's substitutions found the right answer too late in the wrong exam.
The anomaly worth noting is that Atalanta's early forced change — Relja Obrić on for Sead Kolasinac at 20', before either team had scored — disrupted whatever defensive shape Sarri had planned. The reason for that substitution is not recorded here, but its timing, arriving just as the VAR drama was building, meant Atalanta were reorganising at precisely the moment they needed composure.
For Milan, the form picture sharpens. Amorim's side had taken five points from their last three matches before this fixture; they now take seven from three, with two wins and one draw and no defeats across that window. The unbeaten run continues to hold, and the 3-2 scoreline, despite its late anxiety, does not alter the underlying trajectory.
The match will be remembered for what VAR gave and what a penalty miss almost took away — and for the fact that Rabiot's yellow card came two minutes before his goal.