Milan holds off Atalanta comeback, wins 3-2 at San Siro behind two penalties
Goncalo Ramos, Rabiot and Gila made it 3-0 before Atalanta clawed back with second-half goals from Gaetano and Krstovic.

Milan beat Atalanta 3-2 at the Giuseppe Meazza, but the story of the match could have gone very differently from the 12th minute, when Christian Pulisic thought he had scored only for VAR to chalk off the goal for a Goncalo Ramos offside in the buildup. Milan didn't let it rattle them: nine minutes later came the first penalty of the afternoon, and with it the first of three goals that ultimately held up for the win despite an Atalanta rally that pulled the visitors to within a single goal.
The penalty in the 21st minute was awarded for a handball by Relja Obric inside the area, confirmed after a VAR review. Goncalo Ramos made no mistake this time, making it 1-0 in the 23rd minute. Milan, who were clearly dominating possession, extended the lead right before the break: Adrien Rabiot finished low, just inside the post, after an assist from Diego Moreira, for the 2-0 in the 42nd minute. The hosts went into the locker room in full control of the match.
The second half: another penalty, another goal, and Atalanta's response
The second half opened with a second penalty for Milan, called in the 54th minute for a handball by Thomas Kristensen inside the box. This time Goncalo Ramos stepped up, but the Atalanta goalkeeper read his intentions and saved the shot. It didn't matter much: from the resulting corner kick, Mario Gila headed home from close range for the 3-0, assisted by Rabiot, in the 56th minute. Milan looked to have the game put away.
But Atalanta, who hadn't given up on the scoreline, started finding space. Gianluca Gaetano, just off the bench, pulled one back in the 65th minute with a strike from the center of the box after an assist from fellow substitute Nicola Zalewski. The 3-2 came in the 80th minute: Nikola Krstovic, who had already hit the post minutes earlier, finished by the left post off a pass from Raoul Bellanova. The closing stretch saw Milan hanging on, and there was still a stoppage-time shot from Davide Zappacosta that failed to find the equalizer.
What the numbers say
Milan controlled more of the ball and generated a greater volume of clear scoring chances, though Atalanta had more big chances according to the match statistics. The gap in fouls committed was also notable, with Atalanta far more prone to infractions.
| Statistic | Milan | Atalanta |
|---|---|---|
| Possession (%) | 56.1 | 43.9 |
| Shots | 11 | 12 |
| Shots on target | 6 | 4 |
| Big chances | 1 | 3 |
| Corners | 2 | 2 |
| Passes | 601 | 464 |
| Fouls committed | 3 | 10 |
According to our expected goals estimate calculated from the match's shots, Milan generated 2.60 and Atalanta 1.86, a gap that reflects fairly well just how tight the final result ended up being despite the 3-0 cushion at one point.
Heading into the match, we had projected a 42% chance of a Milan win, a 30% chance of a draw and a 28% chance of an Atalanta win, with a combined expected goals total of 2.44. The match finished with five goals, well above that projection, and while the final outcome (a Milan win) matched the most likely scenario, the path there was far tighter than those numbers suggested, with Atalanta fully back in the match after falling behind 3-0.
What it means in the standings
With this result, Milan stays in fourth place with 15 points so far this season, the product of four wins and three draws without a loss in seven matches. Atalanta, meanwhile, remain in tenth place with 9 points, after three wins and four losses in their seven outings. The gap between the two sides in the table now stands at 6 points, a reflection of the very different starts to the season the two clubs are having.
ADA
KKG
VIL
ESP
ASL
ATS
FCJ
QRO
PUE
PUM
ELV
M05
LHV
PSG
NIC
REN
LIL
LEN
ABH
ITH
DRA
SHA
AHL
VLL
ASO
ENS
JSK
MCO
NEW
WEL
MCY
SYD
GAK
HTB
SBH
TUR
SAB
GNT
LIK
SER
ZWA
CLU
SFK
C48
SPV
LOS
BOT
COL
UDC
COQ
UCL
CUR
TEM
CCY
NTZ
DNU
SHJ
FNA
NBP
GXH
WXW
MZH
SXU
NJC
DLK
SJZ
GGP
SZD
YBL
CDR
BIT
DLY
GDM