Milan dominated for an hour and then switched off, almost fumbling the 3-0 lead as Atalanta mounted a fightback, but scraping the 3-2 victory with a decisive Adrien Rabiot.
Both teams were fresh from European victories on Thursday and hoping to carry that confidence into Serie A. The Rossoneri crushed RB Salzburg 4-0 with an Alphadjo Cisse hat-trick, but he was rested amid squad rotation, with Matteo Gabbia and Alexis Saelemaekers long-term absentees.
La Dea beat Pafos 3-1 in the Conference League and were finding form after a victory against Venezia, although Giacomo Raspadori joined Franck Kessie, Giorgio Scalvini, Odilon Kossounou, Isak Hien and Kamaldeen Sulemana on the treatment table, plus suspended Eljif Elmas.
See how it all unfolded on the Liveblog.
Adrien Rabiot blasted over from a promising position, and Christian Pulisic had the ball in the net on 13 minutes, but was offside when Goncalo Ramos flicked on the Samuel Chukwueze low cross from the right.
La Dea responded with Nikola Krstovic running onto a Jonathan Rowe ball, but as he dribbled around Mike Maignan, the angle was too narrow and he found the side-netting.
Atalanta’s injury crisis went from bad to worse when Sead Kolasinac hobbled off, so youth team player Relja Obric made his debut. Within minutes, he got his hand in the way of a Yunus Musah strike to deflect it wide for a penalty, spotted by VAR, converted by Goncalo Ramos sending Marco Carnesecchi the wrong way.

The hosts dominated possession and doubled their lead when Diego Moreira’s slide-rule pass found Rabiot, who cut inside and drilled through Obric’s legs into the near bottom corner, leaving Carnesecchi stranded. It was the France international’s fourth goal involvement in as many Serie A games.

Chukwueze bent a finish just wide from inside the area, then Rabiot saw his ferocious volley charged down by Thomas Kristensen’s hand for another penalty. This time Carnesecchi went the right way to parry the Goncalo Ramos spot-kick.
However, Milan did add a third goal on the resulting corner, as Rabiot flicked it on to the back post for the Mario Gila header from point-blank range. It was the ex-Lazio defender’s first Serie A goal since 2024.
Atalanta finally threatened after a dismal performance with Nikola Krstovic’s low drive from the edge of the area thumping the base of the upright on a Gianluca Gaetano assist after 63 minutes.

It was only a warning, as moments later Gaetano ran onto the Krstovic lay-off to place a snooker shot past Mike Maignan from a tight angle and get the visitors on the board.
Samardzic fired over, but Atalanta got back into it when Raoul Bellanova sprinted away down the right and rolled across for Krstovic to sweep in.
Milan switched off when 3-0 up and nearly conceded for 3-3 moments later, as Maignan rushed off his line to make himself big, using his legs to parry from Davide Zappacosta one-on-one at the near post.
Carnesecchi got down to palm away an Ardon Jashari daisy-cutter, Zappacosta fired into the arms of Maignan and Goncalo Ramos saw a stoppage-time counter denied, but it was tense to the bitter end.
Milan 3-2 Atalanta
Goncalo Ramos pen 24 (M), Rabiot 43 (M), Gila 58 (M), Gaetano 66 (A), Krstovic 81 (A)
Saved penalty: Goncalo Ramos 57 (M)
Player statistic
| Gonçalo Ramos | 24' | |||
| Adrien Rabiot | 41' | |||
| Adrien Rabiot (Assist: Diego Moreira) |
43' |
| Gonçalo Ramos | 57' | |||
| Mario Gila (Assist: Adrien Rabiot) |
57' | |||
| 66' | Gianluca Gaetano (Assist: Nicola Zalewski) | |||
| 68' | Éderson | |||
| 78' | Relja Obric | |||
| 81' | Nikola Krstovic (Assist: Raoul Bellanova) |





