The San Siro before an AC Milan match (file photo)
International Football

AC Milan 3-2 Atalanta: Gonçalo Ramos's penalty and a Mario Gila header hold off a late rally

Ramos converted a 24th-minute penalty, Adrien Rabiot and Mario Gila added two more either side of half-time, and AC Milan needed every one of them as Atalanta pulled two goals back late on in a 3-2 win at San Siro.

By Guriball Newsroom · October 18, 2026 · 6 min read · Edited by Victor Sismotto

AC Milan made hard work of a game they controlled for an hour. Gonçalo Ramos converted a penalty in the 24th minute, Adrien Rabiot doubled it just before half-time and Mario Gila headed in a third early in the second half, putting Ruben Amorim's side 3-0 up and cruising. Atalanta had other ideas: Gianluca Gaetano pulled one back in the 66th minute and Nikola Krstovic made it 3-2 with nine minutes left, setting up a nervy finish that Milan just about survived at San Siro.

Ramos repays the fee, then sets up the next one

Ramos arrived from Paris Saint-Germain in the summer for a reported club-record fee in the region of €74 million, rising with bonuses — more than Milan paid for Rafael Leão in 2019 — as Amorim's first signing after taking the job. He had scored 45 goals in three seasons at PSG, winning the Champions League twice, but mostly as a squad option behind Kylian Mbappé and then Ousmane Dembélé. At San Siro he did what a record fee is supposed to buy: he won and converted the penalty that put Milan ahead, then turned provider four minutes before the break, feeding Rabiot for the second. Eight minutes into the second half, Gila rose above his marker to head in a Rabiot cross for the third — a center-back doubling as a set-piece weapon, the kind of goal Milan have tended to need against sides that sit in.

Atalanta's pressing panic forced a response

At 3-0, the match looked settled. Atalanta had other plans. Substitute Gianluca Gaetano, on for the second half, finished from Nicola Zalewski's low cross in the 66th minute to make it 3-1, and Nikola Krstovic headed in a Raoul Bellanova delivery in the 81st to pull Atalanta back to within a goal. Milan held their nerve for the last nine minutes without conceding a third, but the closing stretch was far tighter than the scoreline at the hour mark had suggested it would be — Adrien Rabiot's 41st-minute yellow card the only blemish on an otherwise controlled Milan performance before Atalanta's rally.

Form going into it

Milan arrived unbeaten in the league since a 1-1 draw at Juventus seven weeks earlier, with three wins and two draws in that stretch, including the 3-0 win over Lecce and a goalless-for-them 1-1 at Sassuolo most recently. Atalanta's run had been the opposite: three wins but also three defeats in their six games before this one, including back-to-back losses to Roma and Cagliari in September and a 2-0 loss at Juventus — the kind of inconsistency that leaves a side needing results like this one, even in defeat, to show signs of life.

Scorers

  • 24' — Gonçalo Ramos (AC Milan, penalty)
  • 43' — Adrien Rabiot (AC Milan), assisted by Diego Moreira
  • 57' — Mario Gila (AC Milan, header), assisted by Adrien Rabiot
  • 66' — Gianluca Gaetano (Atalanta), assisted by Nicola Zalewski
  • 81' — Nikola Krstovic (Atalanta), assisted by Raoul Bellanova

Match facts

StatAC MilanAtalanta
Possession56.1%43.9%
Shots on target64
Accurate passes547/601 (91.0%)423/464 (91.2%)
Corners22
Fouls310
Offsides11
Yellow cards12

Line-ups

TeamStarting XI
AC Milan (3-4-3)Maignan; De Winter, Pavlovic, Gila; Modrić, Musah, Moreira, Chukwueze; Ramos, Pulisic, Rabiot
Atalanta (4-3-3)Carnesecchi; Kolasinac, Kristensen, Bernasconi, Bellanova; Éderson, Pasalic, Samardzic; Krstovic, Rowe, De Ketelaere

Where it leaves the table

The win takes Milan to 15 points from seven games — four wins, three draws, no defeats — and up to 4th place, inside the Champions League zone, level on points with Cagliari and three behind a logjam at the top where Inter and Lazio both sit on 19. Atalanta stay 10th on 9 points from seven games, three wins and four defeats, just ahead of Lecce on goal difference. Two matchday-7 fixtures were still to be played when this result landed — Monza host Cagliari and Parma host Torino — and a Cagliari win in particular would push them above Milan on points, so the exact top-five picture from this round is not final yet.

What's next

Milan's run without a league defeat now stretches to seven matches as they turn to the next round, while Atalanta need to turn their better periods — like the one that produced two goals in twenty minutes here — into something that starts games rather than rescues them.

Picks for you

Advertising. Affiliate links — we may earn a commission on your purchases, at no extra cost to you. It does not influence our editorial coverage.