Rabiot was the driving force behind AC Milan’s 3-2 win over Atalanta at San Siro on Sunday, finishing the afternoon with a goal and two assists from a forward role that few would have expected from the Frenchman. Gonçalo Ramos converted a penalty before halftime, Rabiot doubled the lead on 43 minutes, and Mario Gila made it three early in the second half. But Atalanta refused to fold, pulling back to 3-2 through substitute Gaetano and Krstović before Milan held on for three points that keep them fourth in Serie A.

Key Moments
- 13′, Pulisic thought he had broken the deadlock but the goal was ruled out by VAR review.
- 22′, VAR confirmed a penalty for AC Milan after a foul on Musah.
- 24′, Gonçalo Ramos stepped up and converted the spot kick to put Milan ahead 1-0.
- 43′, Rabiot finished from a Diego Moreira assist to double Milan’s advantage before the break, giving the hosts a comfortable 2-0 halftime lead.
- 57′, Gonçalo Ramos missed a second penalty, but the rebound situation led to Mario Gila tapping home off an Rabiot assist to make it 3-0.
- 66′, Gaetano, introduced from the bench at halftime, pulled one back for Atalanta with a finish set up by Zalewski to make it 3-1.
- 81′, Krstović reduced the deficit further with a goal assisted by Bellanova, setting up a tense final nine minutes at 3-2.
Tactical Breakdown
Ruben Amorim’s Milan were dominant in the first hour, controlling 56 percent of possession and moving the ball with purpose through their 3-4-3 shape. They generated an xG of 2.49 from 11 total shots, with six on target, and the two VAR interventions ultimately worked in their favor. The platform came from midfield, where Diego Moreira provided the assist for the second goal and Rabiot operated almost as a second striker, popping up in dangerous areas throughout. Milan’s three-goal cushion by the 57th minute made the match look settled.
The shift came after Atalanta’s double substitution on 59 minutes, bringing on Gaetano and Zalewski simultaneously. The two linked up almost immediately for the first goal back, and the visitors began pushing men forward with more urgency. Milan responded with their own triple change on 75 minutes, withdrawing Pulisic, Musah, and Modric in one go, but the new arrivals struggled to reassert control as Atalanta’s pressure continued. Amorim’s decision to introduce Jashari and Loftus-Cheek was aimed at steadying the midfield, though Krstović’s goal on 81 minutes showed those changes came slightly too late to fully shut the game down.
For Atalanta, a 4-3-3 that started with Kolasinac at left back lasted only 20 minutes before an early injury forced a reshuffle. That disruption cost them defensive shape early on, and they gave away two penalties in the first 57 minutes. Their 12 total shots were actually higher than Milan’s 11, but they generated just 1.71 xG and were ultimately too reliant on late individual moments rather than sustained pressure from the start.
Player Ratings
Match Context
Standings
Head To Head
Verdict
The win lifts AC Milan to 15 points and keeps them fourth in Serie A, one point behind third-placed Lazio and four points off leaders Inter. Atalanta, now on nine points and sitting tenth, have lost four of their opening seven league matches and need to find consistency quickly. For Milan and Amorim, three points is the bottom line, even if the manner of the finish will have given the coaching staff something to work on.