Milan took three points from Atalanta in a match that seemed settled long before it became a test of nerve. For an hour, the Rossoneri produced perhaps their most convincing league football of the season, controlling the evening and building a three-goal lead. Yet the final stretch belonged to Atalanta, who turned a one-sided contest into a desperate 3-2 finish at San Siro.
The home side had shown their intent early. Pulisic thought he had opened the scoring after 12 minutes with a close-range finish, only for the goal to be ruled out for offside. Milan still had moments of uncertainty at the back, but they gradually imposed themselves and found a deserved breakthrough in the 24th minute.
Musah drove through the middle before his effort struck the hand of Obric, who had only recently replaced the injured Kolasinac. Referee Chiffi did not initially award a penalty, but a VAR review brought him to the monitor. Ramos converted from the spot, sending Carnesecchi the wrong way.
Milan’s first half ended with another reward for their command. Moreira found Rabiot, who worked the ball onto his right foot and struck a firm finish that caught Carnesecchi off balance. Atalanta, coached by Sarri, had struggled particularly in the wide areas and went into the interval with little sign of a response.
Milan lose control after a dominant hour
The pattern initially continued after the restart. Milan moved the ball sharply and Atalanta were largely restricted to occasional counter-attacks. A second handball decision arrived in the 56th minute, with Kristensen penalised after another VAR intervention. Ramos stepped up again, but this time Carnesecchi made the save.
The reprieve lasted only moments. From the resulting corner, Rabiot flicked the ball on and Gila was left unmarked to head in Milan’s third. At 3-0, the hosts appeared to have put the match beyond reach.
Krstovic, one of the few Atalanta players offering a consistent threat, hit the post with an effort from outside the area. That chance gave the visitors belief. In the 66th minute, two substitutes combined as Zalewski created the opening for Gaetano to reduce the deficit.
From then on, Milan lost the authority that had carried them through the first hour. Amorim responded with a triple substitution, bringing on Estupinan, Loftus-Cheek and Jashari in an attempt to restore energy and control, but the changes did not settle his side.
Jashari was beaten by Bellanova, whose driven cross found Krstovic in front of goal for 3-2. Atalanta pressed for an equaliser and came close more than once. Zappacosta was played through against Maignan but struck the goalkeeper, while further late opportunities kept Milan under sustained pressure.
The final whistle brought relief rather than celebration for the Rossoneri. Their opening hour had offered the clearest expression of their league potential; their closing minutes offered a reminder that, over a Serie A season, dominance only counts when a side can carry it through to the end.



