AC Milan vs Atalanta: Tactical Breakdown of a 3-2 Defeat
AC Milan’s 3-2 home defeat to Atalanta at San Siro was defined by structural issues in the first hour and a late tactical correction that came too late. Atalanta exploited Milan’s 3-5-2 with direct running and superior occupation of the half-spaces in their 3-4-2-1, racing into a 3-0 lead before Milan’s adjustments and fresh forwards shifted the dynamic. The underlying metrics frame the story clearly: Milan’s 57% possession and 20 shots (9 on target) translated into 1.94 xG and two late goals, while Atalanta, with just 9 shots and 43% of the ball, were ruthlessly efficient, scoring three from 1.08 xG.
I. Executive Summary
Milan’s initial 3-5-2 under Massimiliano Allegri struggled to control defensive transitions and protect the wide channels. Atalanta, set up by Raffaele Palladino in a 3-4-2-1, repeatedly isolated Milan’s outside centre-backs and wing-backs, with Ederson and the front three attacking the spaces behind Alexis Saelemaekers and Davide Bartesaghi. The visitors built a 2-0 half-time lead and extended it to 3-0 on 51 minutes, effectively winning the match before Milan’s bench-driven resurgence. Despite a late structural shift and the introduction of Christopher Nkunku and Niclas Füllkrug, Milan’s comeback stalled at 2-3.
II. Scoring Sequence & Disciplinary Log
Goals (all times literal):
- 7' Ederson (Atalanta) — no assist. Early central penetration punished Milan’s loose midfield spacing, with Ederson breaking from midfield to finish and immediately tilt the game towards Atalanta’s preferred transition rhythm.
- 29' Davide Zappacosta (Atalanta) — assisted by Nikola Krstovic. Atalanta exploited Milan’s right side, with Krstovic combining in the channel and Zappacosta arriving from wing-back to make it 0-2.
- 51' Giacomo Raspadori (Atalanta) — assisted by Ederson. A classic 3-4-2-1 pattern: Ederson received between the lines and fed Raspadori, whose movement off the front line dismantled Milan’s back three for 0-3.
- 88' Strahinja Pavlovic (AC Milan) — assisted by Samuele Ricci. Milan, now camped in Atalanta’s half, saw Pavlovic step out from the back to convert after Ricci’s service, bringing it back to 1-3.
- 90' Christopher Nkunku (AC Milan) — penalty, no assist. Nkunku, introduced at half-time, converted from the spot for 2-3, setting up a frantic but ultimately unsuccessful finale.
Disciplinary log (chronological, with reasons verbatim):
- 34' Rafael Leão (AC Milan) — Foul
- 70' Isak Hien (Atalanta) — Argument
- 89' Adrien Rabiot (AC Milan) — Argument
- 89' Pervis Estupiñán (AC Milan) — Foul
- 90' Alexis Saelemaekers (AC Milan) — Argument
- 90+5' Nikola Krstović (Atalanta) — Time wasting
- 90+6' Raoul Bellanova (Atalanta) — Foul
Totals: AC Milan 4 yellow cards, Atalanta 3 yellow cards, Total 7.
III. Tactical Breakdown & Personnel
Milan’s 3-5-2: spacing problems, late correction
Allegri’s 3-5-2 with Mike Maignan behind a back three of Koni De Winter, Matteo Gabbia and Strahinja Pavlovic, and wide midfielders Saelemaekers and Bartesaghi, was designed to dominate the ball and control central zones. In possession, Milan achieved that: 541 passes, 478 accurate (88%), and 57% possession. Ricci and Rabiot gave a double pivot feel, with Ruben Loftus-Cheek as the more advanced midfielder behind Santiago Gimenez and Rafael Leão.
The problem was defensive rest defence and wing protection. When Milan lost the ball, the distances between the back three and the midfield line were too large. Atalanta’s first goal on 7 minutes came from Ederson attacking that gap, with neither Ricci nor Rabiot close enough to screen, and the outside centre-backs reluctant to step out.
On the right, Saelemaekers’ aggressive starting positions left De Winter repeatedly exposed to two-versus-one scenarios against Zappacosta and one of the forwards. The second goal at 29' crystallised this: Krstovic’s movement into the right channel dragged a centre-back out, and Zappacosta attacked the vacated lane.
Maignan’s role was paradoxical. Statistically, he made only 2 saves, but the “goals prevented” metric of 1.1 underlines that Atalanta’s 1.08 xG could easily have produced more than three if not for his interventions and positioning. However, with Atalanta so efficient, his margin for error was minimal.
At 3-0 down, Allegri’s changes at 46' and 58' were decisive in shifting momentum. Nkunku (IN) came on for Loftus-Cheek (OUT) at 46', adding vertical running and penalty-box presence from deeper areas. On 58', Z. Athekame (IN) for De Winter (OUT), Niclas Füllkrug (IN) for Gimenez (OUT), and Y. Fofana (IN) for Leão (OUT) transformed the front structure into a more direct, physically imposing unit. Later, at 80', Pervis Estupiñán (IN) for Bartesaghi (OUT) added a more aggressive, overlapping profile on the left.
The result was a Milan side that pinned Atalanta back, generated sustained pressure and ultimately found two late goals. Pavlovic’s 88' strike reflected the back three stepping higher and flooding the box, while Nkunku’s 90' penalty showcased the increased ability to attack the box with multiple runners. Milan’s 20 shots, 9 on target, and near-2.0 xG show that the attacking structure eventually worked, but only after the deficit was insurmountable.
Atalanta’s 3-4-2-1: control through efficiency and structure
Palladino’s 3-4-2-1 with Marco Carnesecchi in goal, a back three of Giorgio Scalvini, Isak Hien and Sead Kolasinac, and a midfield four of Zappacosta, Marten De Roon, Ederson and Nicola Zalewski, was built to suffer without the ball but be lethal in transitions.
With only 411 passes (330 accurate, 80%) and 43% possession, Atalanta did not aim to dominate the ball. Instead, they prioritised verticality: Ederson and Charles De Ketelaere (later replaced by Mario Pasalic at 63') occupied the half-spaces, while Raspadori and Krstovic alternated between pinning the back line and dropping into pockets. The first two goals came from wide overloads and midfield runs; the third from a classic half-space combination.
Defensively, Atalanta were compact and aggressive, reflected in 17 fouls and 3 yellow cards. Carnesecchi’s 8 saves were decisive; with 1.1 goals prevented, he matched Maignan in shot-stopping impact but did so under heavier fire. His positioning and handling under a barrage of late crosses preserved the 3-2 lead.
Substitutions were aimed at preserving energy and solidity: O. Kossounou (IN) for Scalvini (OUT) at 48' added fresh legs in the back line; R. Bellanova (IN) for Zappacosta (OUT) at 55' maintained width and defensive work rate; an unnamed player exited at 63' with H. Ahanor (IN) entering, and Pasalic (IN) for De Ketelaere (OUT) at 63' provided extra defensive discipline in the attacking midfield slot. Late yellow cards for Krstović (“Time wasting”) and Bellanova (“Foul”) underlined Atalanta’s shift into game-management mode.
IV. Statistical Verdict
The xG profile (AC Milan 1.94, Atalanta 1.08) confirms that Milan created enough to merit at least a draw on chance quality, especially after the hour. However, Atalanta’s early three-goal burst, from relatively modest shot volume (9 total, 5 on target), exemplified superior efficiency and better exploitation of structural weaknesses.
Milan’s overall form in this match was that of a possession-dominant side whose initial shape undermined their defensive stability. Their defensive index here is mixed: they limited Atalanta’s volume but conceded high-quality chances in transition and from wide overloads. Atalanta’s defensive index was stronger in terms of compactness and penalty-box protection, supported by Carnesecchi’s 8 saves and 1.1 goals prevented.
Discipline also shaped the rhythm: Milan’s 4 yellows to Atalanta’s 3 reflected a home side increasingly frustrated and forced into late challenges and arguments, while Atalanta leaned into tactical fouling and time management once ahead. In synthesis, structure and early execution won the game for Atalanta; Milan’s late tactical corrections only narrowed the scoreline, not the outcome.






