NorthStandCA logo

AC Milan's Serie A Season Finale: A Tactical Analysis

Under the lights of Stadio Giuseppe Meazza, the final chapter of AC Milan’s Serie A season closed with an unexpected twist. A 2-1 defeat to Cagliari in Round 38 did little to alter the table – Milan finish 5th on 70 points, Cagliari 14th on 43 – but it said plenty about the tactical identities both sides have been building across the campaign.

I. The Big Picture – Two 3-5-2s, Two Different Stories

Both coaches mirrored each other structurally in a 3-5-2, but with contrasting intentions.

Massimiliano Allegri’s Milan leaned into control and vertical punch. Across the season they have been one of Serie A’s most balanced outfits: overall they scored 53 goals and conceded 35, giving them a goal difference of +18. At home they averaged 1.3 goals scored and 1.1 conceded, the numbers of a side that usually grinds its way to results at San Siro.

The lineup reflected that blend of security and ambition. Mike Maignan anchored a back three of Fikayo Tomori, Matteo Gabbia and Strahinja Pavlovic. Ahead of them, a dense five-man midfield – Alexis Saelemaekers, Youssouf Fofana, Ardon Jashari, Adrien Rabiot and Davide Bartesaghi – was tasked with both screening transitions and feeding a mobile front two of Santiago Gimenez and Christopher Nkunku.

Fabio Pisacane’s Cagliari, by contrast, arrived as a side used to suffering and countering. Overall they scored 40 and conceded 53, a goal difference of -13 that tells the story of a team often under siege. On their travels they averaged just 0.9 goals scored against 1.6 conceded, and yet they found a way here. Their 3-5-2 was more reactive: Elia Caprile behind a back three of J. Pedro, Yerry Mina and J. Rodriguez, a hard-working midfield with Gabriele Zappa and Adam Obert as wide outlets, and a front pairing of Gennaro Borrelli and Sebastiano Esposito ready to spring forward when Milan overcommitted.

Heading into this game, Milan’s broader season pattern mattered: 20 wins, 10 draws, 8 defeats, with a defensive base that allowed only 0.9 goals per game overall. Cagliari, meanwhile, had 11 wins, 10 draws and 17 defeats, a profile of volatility and narrow margins.

II. Tactical Voids and Discipline – Edges at the Margins

The absences list tilted the pre-match equation slightly toward Milan. Cagliari were stripped of depth and variation in attack and midfield: M. Folorunsho (muscle injury), R. Idrissi (knee injury), S. Kilicsoy (personal reasons), J. Liteta (thigh injury) and Leonardo Pavoletti (knee injury) were all ruled out. For a side that already failed to score in 14 league games overall – seven at home and seven away – that loss of options was significant.

Yet Pisacane compensated with a high-commitment, physically intense approach. Cagliari’s season-long disciplinary profile shows a team that lives on the edge: their yellow-card peak is in the 76-90 minute window, where 27.16% of their cautions arrive, and all of their red cards in Serie A this season came in that same 76-90 range. They are most combustible just as matches open up.

Milan, too, tend to see tempers fray late. For them, 25.00% of yellow cards arrive between 76-90 minutes, and they have split their red cards across 16-30, 46-60 and 91-105. The closing stages at San Siro were always likely to be a cauldron of tactical fouls and borderline challenges, even if this particular match finished without a dismissal.

III. Key Matchups – Hunter vs Shield, and the Engine Room

The headline attacking threat for Milan did not start, but he hovered over the contest. Rafael Leão, with 9 league goals and 3 assists in 29 appearances, is their top scorer in Serie A. His 45 total shots with 24 on target and 23 key passes make him the archetypal “hunter” in this narrative – the player opponents must bend their defensive plan around. When introduced from the bench, his direct running and 26 successful dribbles in the league tend to stretch back lines that have defended deep for an hour.

Opposite him, Cagliari’s “shield” was not just their back three but a collective survival instinct honed by a season of pressure. They have kept only 8 clean sheets overall – 6 at home, 2 away – but their structure in a 3-5-2 is designed to funnel attacks into crowded central zones. Mina’s aerial dominance, Obert’s reading of wide spaces and J. Pedro’s positioning form a triangle whose job is to absorb crosses and block central combinations. Across the season, Obert’s 68 tackles and 18 blocked shots underline his role as the last-ditch firefighter.

In midfield, the “engine room” duel was decisive. Milan’s central trio of Fofana, Jashari and Rabiot were expected to dictate tempo. Rabiot’s ability to step beyond the first line, combined with Saelemaekers’ width and Bartesaghi’s left-sided balance, should have allowed Milan to pin Cagliari back and recycle pressure.

But Cagliari had their own metronome and disruptor in Sebastiano Esposito. Listed as a midfielder but operating high between the lines, Esposito has been Cagliari’s creative heartbeat: 7 goals, 5 assists, 71 key passes and 1003 total passes at 75% accuracy. He is both playmaker and pressing trigger. His 56 tackles and 20 interceptions show how much defensive work he does to launch transitions. Every Milan turnover in midfield risked becoming an Esposito-led break, especially with Borrelli running channels.

On the Milan side, Christian Pulisic’s season arc also framed the tactical options. With 8 goals and 4 assists, 38 key passes and 64 dribble attempts (30 successful), he offers a different type of hunter: one who attacks half-spaces from midfield rather than the last line. His missed penalty this season – one failed attempt from the spot – is a small blemish in a campaign otherwise defined by end-product and vertical thrust.

IV. Statistical Prognosis – xG Logic vs Late-Season Chaos

Strip away the emotional weight of the final day, and the season-long data still points to Milan as the side that usually controls the shot quality battle. Their average of 1.4 goals scored per game overall against 0.9 conceded suggests they tend to generate better chances than they allow, often by a clear margin. Their penalty record – 7 taken, 7 scored, with 100.00% conversion and no misses – underlines a ruthlessness in high-value situations.

Cagliari’s numbers tell a different story: 1.1 goals scored per game overall against 1.4 conceded, with long stretches of games where they simply cannot find the net. They have missed no penalties (2 taken, 2 scored), but they live closer to the margins of variance, reliant on set pieces, individual moments from Esposito, and defensive resilience.

Following this result, the narrative is of a game where the underlying xG logic likely leaned toward Milan, but where Cagliari’s compact 3-5-2, their capacity to suffer, and their precision in key attacking moments overturned the script. Milan’s structure, possession and historical solidity did not translate into scoreboard control; Cagliari’s season-long habit of hanging in games and striking when space appears finally produced an away win that defied their usual away averages.

In tactical terms, this was the triumph of a reactive game plan perfectly executed over a more polished but slightly blunted positional attack. Across the campaign, Milan remain the side whose numbers speak of European-level consistency. Cagliari, though, leave San Siro with a result that encapsulates their identity: flawed, fragile, but always dangerous enough to punish any lapse in concentration.