For an hour, AC Milan looked like a team finally free of an old problem. By the final whistle at San Siro, they were simply grateful to have the points. A 3–2 win over Atalanta ended Milan's six-match winless Serie A run against this opponent, a sequence of two draws and four defeats. Yet a 3–0 lead very nearly slipped away in the closing half-hour.
Adrien Rabiot drove the good part, scoring one goal and creating another, while defender Mario Gila added his first competitive goal for the club. Then Atalanta, outplayed for most of the evening, came alive after the hour mark and turned a comfortable night into an ordeal.
Milan seize control as VAR steps in twice
Video review shaped the opening half-hour before a single goal counted. Christian Pulišić had the ball in the net on 13 minutes, only for a VAR check to rule it out for offside.
Atalanta's troubles were already mounting. They had travelled with an extensive injury list, and Sead Kolašinac limped off after 20 minutes with a muscle injury. His replacement, 20-year-old Slovenian defender Relja Obrić, was making his first-team and Serie A debut.
It turned sour within minutes. On 22 minutes referee Daniele Chiffi was sent to the pitchside monitor, which showed a Yunus Musah strike hitting Obrić's arm, and the penalty was awarded. Gonçalo Ramos stepped up two minutes later and sent the goalkeeper the wrong way.
Rabiot drives Milan into a three-goal lead
The second goal, on 43 minutes, was the sharpest move of the night. Diego Moreira picked out Rabiot inside the box, and he chopped past a defender before slotting a precise right-footed diagonal into the bottom corner.
It was his fourth league goal of the season in seven appearances, and he has now scored in three of Milan's last six league games. It also arrived minutes after he had been booked, a decision Atalanta would return to long after the final whistle.
VAR intervened again on 55 minutes, confirming a second Milan penalty for a Thomas Kristensen handball. This time Marco Carnesecchi dived the right way to deny Ramos on 57 minutes, but Atalanta could not escape the danger. From the corner that followed, Luka Modrić delivered, Rabiot flicked on, and Gila nodded in from point-blank range at the back post.
For Gila it was a first competitive goal for Milan and his first in Serie A since 2024, and he admitted to being overcome with emotion. At 3–0 the contest looked finished, and the verdict on Atalanta's opening hour was damning: unrecognisable and submissive.
Sarri's substitutions drag Atalanta back into the game
Sarri went to his bench, and the second-half changes were credited with transforming the contest. On 66 minutes Nicola Zalewski squared to Gianluca Gaetano, who finished first time with his left foot from inside the six-yard box.
Suddenly Milan's grip was loosening. On 81 minutes Raoul Bellanova surged down the right and pulled a low cross back across the box, where Nikola Krstović peeled away from his marker and swept a first-time finish on the turn into the bottom corner. It was his fourth league goal of the season.
The numbers describe two different matches stitched together. Milan had 56% of the ball and the sharper edge, putting six shots on target to Atalanta's four. Yet the visitors finished with more attempts overall, 12 to 11, a count that reflects how much of the late pressure belonged to them.
Milan held on. Atalanta were left with mounting regrets over another slow start, and a fourth defeat of the league campaign.
Sarri fumes as Milan's unbeaten run rolls on
The visitors' frustration carried into the post-match debate. Sarri heavily criticised what he saw as double standards from the officials and VAR, arguing that an unreviewed handball by Milan's Koni De Winter on a Jonathan Rowe cross should have brought Atalanta a penalty.
He also protested that Rabiot had only been booked rather than sent off, after what Sarri described as verbal abuse of Chiffi minutes before Rabiot scored Milan's second.
None of that changes the table. Milan are now unbeaten in seven league games, fourth on 15 points from four wins and three draws. They have scored in every one of those seven matches, 14 goals in total, and this was a third consecutive Serie A home win, the first time they have managed that in 2026.
Yet the warning lies in how this one ended. A side that controlled the first hour so completely should not have been hanging on at 3–2, and the collapse after Gila's goal is the part of the evening that will linger. Atalanta, tenth on nine points, have the reverse problem: they showed what they are capable of, but only once they were already three goals down.
Match Information
- CompetitionSerie A, Regular Season, Round 7
- Date & TimeSunday 18 October 2026, 18:00 CET
- VenueSan Siro/Giuseppe Meazza, Milan
- RefereeDaniele Chiffi