Milan held off Atalanta’s late surge to win 3-2 at San Siro on Sunday, a Matchday 7 contest that appeared settled before becoming an examination of nerve in the closing minutes. Gonçalo Ramos opened from the spot, Adrien Rabiot added a second before half-time and Mario Gila seemed to put the result beyond reach after the interval, but Atalanta found two goals through Gianluca Gaetano and Nikola Krstovic to ensure that the final whistle arrived with the home side still defending its work.
The afternoon had begun with an early warning that nothing would come easily. Christian Pulisic had the ball in the net in the 13th minute, only for VAR to rule that he had been offside after a pass from Ramos. Atalanta had their own moments: Krstovic went narrowly wide after a Jonathan Rowe counterattack, while Charles De Ketelaere and Lazar Samardzic both failed to convert opportunities from distance.
Atalanta also lost Sead Kolasinac to injury after 20 minutes, with Relja Obric taking his place. The replacement was immediately involved at the other end, conceding a handball penalty following Yunus Musah’s blocked effort. VAR confirmed the decision and Ramos sent the goalkeeper the wrong way, placing his 24th-minute kick into the right side of the net.
Milan did not allow the opening goal to become a cue for retreat. Rabiot, booked shortly before the interval for a foul on De Ketelaere, made a more decisive contribution in the 43rd minute. Diego Moreira supplied the ball into the area and the French midfielder finished low into the left corner to give Milan a 2-0 half-time lead.
A lead built, then tested
Atalanta resumed with intent, but Krstovic could not direct a Bellanova delivery on target early in the second half. Milan then had an opportunity to make the margin three when Thomas Kristensen handled in the area. The penalty was awarded after a VAR review, yet Ramos’ second spot-kick was saved low to the left.
The missed penalty did not prove costly immediately. From the resulting passage of play, Milan won a corner and Gila headed in at close range after Rabiot had flicked the ball on. It was 3-0 after 57 minutes, a scoreline that reflected Milan’s clinical use of the key moments even as Atalanta had continued to create openings.
The visitors turned to Nicola Zalewski and Gaetano shortly afterwards, replacing Rowe and Mario Pasalic, and their response began to give the match a different shape. Krstovic struck the left post from outside the area in the 63rd minute before Gaetano reduced the deficit three minutes later, finishing with his left foot from the middle of the box after Zalewski’s assist.
Both benches continued to alter the contest. Milan introduced Omari Hutchinson for Samuel Chukwueze, then made a triple change in the 75th minute as Ruben Loftus-Cheek, Pervis Estupiñán and Ardon Jashari replaced Luka Modric, Musah and Pulisic. Musah had required treatment after a challenge from Éderson, who was booked. Atalanta brought on Davide Zappacosta and Gianluca Scamacca, with Zappacosta replacing Lorenzo Bernasconi and Scamacca taking over from Samardzic.
The substitutions fed Atalanta’s final push. Zappacosta had an effort saved by Mike Maignan before Bellanova crossed for Krstovic in the 81st minute. The striker finished low into the left corner to make it 3-2, turning the last stages into a much less comfortable conclusion for Milan.
Maignan received treatment after another Zappacosta attempt and Milan sent on Fikayo Tomori for Gila in the 84th minute. The hosts still found chances to settle matters: Jashari had a long-range shot saved, and Ramos was denied from close range in stoppage time after Jashari’s pass. At the other end, Zappacosta twice tested Maignan, including a late effort set up by Zalewski, but Milan protected the narrow lead through five added minutes.
Ramos’ penalty, Rabiot’s finish and Gila’s header supplied the points, while Atalanta left Milan with evidence of a response that arrived too late to change the result. For the home side, the 3-2 victory becomes another demanding page in the early Serie A season: a match won through authority for an hour, then preserved through concentration when Atalanta refused to accept the first script.



