GoalFront logo

AC Milan's Tactical Struggles in Final Day Defeat to Cagliari

Under the grey Milanese sky of the season’s final Sunday, AC Milan’s campaign at Stadio Giuseppe Meazza ended with a jolt rather than a lap of honour. In a Regular Season - 38 clash that should have confirmed their authority, the Rossoneri were turned over 2-1 by Cagliari, a result that froze Milan in 5th on 70 points and underlined a deeper tactical story than the bare scoreline suggests.

Overall this campaign, Milan’s profile has been that of a controlled, top-five side: 20 wins, 10 draws, 8 defeats from 38 matches, with 53 goals scored and 35 conceded for a goal difference of +18. At home, though, the numbers have always hinted at vulnerability. They finished with 9 home wins, 5 draws and 5 defeats, scoring 25 and conceding 21. On their travels, Cagliari arrived as a side used to suffering but occasionally striking: 4 away wins, 6 draws and 9 defeats, 18 goals for and 30 against, part of an overall record of 11-10-17 and a goal difference of -13.

Yet on this final day, it was Cagliari’s tactical clarity that cut through.

I. Structures and identities

Both teams mirrored each other in a 3-5-2, but with very different intentions.

Massimiliano Allegri’s Milan used a back three of F. Tomori, M. Gabbia and S. Pavlovic in front of M. Maignan, with the “five” across midfield built for circulation and half-space control: A. Saelemaekers and D. Bartesaghi as wide operators, Y. Fofana and A. Rabiot flanking A. Jashari centrally. Up front, S. Gimenez and C. Nkunku formed a mobile, technical pairing more suited to link play than relentless penalty-box occupation.

Fabio Pisacane’s Cagliari, by contrast, built a more rugged 3-5-2. E. Caprile anchored a back three of J. Pedro, Y. Mina and J. Rodriguez, with G. Zappa and A. Obert wide and a combative midfield spine of M. Adopo, G. Gaetano and A. Deiola. Up top, G. Borrelli and S. Esposito led the line, the latter already established as Cagliari’s creative heartbeat this season with 5 league assists and 7 goals, plus 71 key passes and 1003 total passes at 75% accuracy.

On paper, Milan’s structure promised territorial dominance; Cagliari’s promised resilience and counters. The match delivered exactly that tension.

II. Tactical voids and absences

If Milan looked short of incision, part of the explanation sat on the bench. Rafael Leão, with 9 league goals and 3 assists in 29 appearances, and Christian Pulisic, on 8 goals and 4 assists, were both among the substitutes. Between them, they represent Milan’s most direct route to chaos in the final third: 45 shots (24 on target) for Leão, 41 (25 on target) for Pulisic, plus 56 and 64 dribbles attempted respectively. Allegri’s decision to start without either as a primary reference point left Gimenez and Nkunku to operate in tighter spaces against a compact Cagliari block.

Cagliari’s own voids were more structural. They travelled without a cluster of attacking and midfield options: M. Folorunsho (muscle injury), R. Idrissi (knee injury), S. Kilicsoy (personal reasons), J. Liteta (thigh injury) and L. Pavoletti (knee injury) were all listed as Missing Fixture. Pisacane thus leaned heavily on Esposito’s versatility and on the work rate of Gaetano and Deiola to bridge midfield and attack.

Disciplinary trends also framed the risk landscape. Heading into this game, Milan had drawn 16 yellow cards in the 76-90’ window, a late-game surge of 25.00% of their cautions, while Cagliari were even more volatile late on, with 22 yellows in the 76-90’ period (27.16%) and both of their red cards arriving in that same window. This fixture always had the potential to become chaotic as legs tired and space opened.

III. Key matchups: Hunter vs Shield, Engine Room vs Enforcer

The notional “Hunter vs Shield” duel was less about a single striker and more about Milan’s collective attacking profile against Cagliari’s away defence. Over the season, Milan averaged 1.3 goals at home and 1.4 overall, while Cagliari’s defence on their travels conceded 1.6 per game. The numbers suggested Milan should find a way through, especially given their 15 clean sheets overall and only 0.9 goals conceded per match in total.

But Cagliari’s shield was anchored in the back three and in Obert’s dual role as defender and disruptor. Over the season, Obert made 68 tackles, 18 successful blocks and 42 interceptions, while committing 40 fouls and collecting 9 yellow cards plus 1 yellow-red. He embodies Cagliari’s willingness to defend on the edge, especially in wide zones where Milan’s wing-backs and second-line runners try to overload.

In the “Engine Room” battle, A. Jashari and A. Rabiot were tasked with controlling tempo against Esposito and Gaetano. Esposito’s 312 duels (149 won) and 56 fouls drawn this season speak to a player who thrives in contact, turning pressure into set-pieces and broken play. Milan’s midfield, more geared to circulation than aggression, struggled at times to impose their rhythm against Cagliari’s more confrontational core.

IV. Statistical prognosis and what the result tells us

Following this result, the numbers tell a story of a Milan side that has been broadly solid but occasionally brittle at home, and a Cagliari team that has learned to weaponise suffering. Milan’s 7 home clean sheets and only 1.1 goals conceded on average at San Siro were undercut here by lapses against a side that, overall, scores just 1.1 goals per match and only 0.9 away.

Cagliari’s defensive frailties on their travels (30 conceded away, 53 overall) did not fully materialise, in part because Milan’s most explosive individuals were not central from the outset. Even with Milan’s penalty record perfect this season (7 from 7, 100.00% scored, no misses), they never engineered the kind of sustained box pressure that forces desperate challenges and spot-kicks. By contrast, Cagliari’s own penalty record (2 from 2, no misses) aligns with Esposito’s profile as a player who can both win and convert from the spot.

From an xG perspective—though not explicitly provided, we can infer tendencies—Milan’s season-long defensive solidity (0.9 goals against on average, 35 conceded in total) usually drags opponents’ xG down, especially at home. Cagliari’s low away scoring rate would typically project a modest attacking xG. That they found two goals here suggests they maximised rare high-quality moments, perhaps in transition or from set plays, while Milan’s possession-heavy approach generated volume but not enough premium chances.

In narrative terms, this was a match where structure beat status. A 5th-placed Milan, bound for Europa League, were outmanoeuvred by a 14th-placed Cagliari who have spent the season learning to survive. The late-season form lines—Milan’s “LWLLD” against Cagliari’s “WWLDW”—were not noise; they were a warning. Cagliari arrived in Milan with confidence and a clear idea of how to suffer, and they left with a win that perfectly fits their statistical and tactical arc.