Juventus vs Fiorentina: Tactical Analysis of a 2-0 Upset
Under the grey Turin sky of Allianz Stadium, a season’s worth of tension condensed into 90 minutes. Juventus, sixth in Serie A on 68 points with a goal difference of 27 (59 scored, 32 conceded overall), walked out needing to cement their Europa League trajectory. Fiorentina, 15th on 41 points with a goal difference of -9 (40 scored, 49 conceded overall), arrived more concerned with dignity than danger, but they left with something far more valuable: a statement 2-0 win that exposed the fault lines in Luciano Spalletti’s evolving Juventus.
This was Round 37, a late-season fixture that felt like a tactical referendum. Juventus came in with a strong home record: 19 home games, 10 wins, 7 draws, only 2 defeats, scoring 35 and conceding 16 at Allianz. Fiorentina, by contrast, had been fragile on their travels, with 5 away wins, 6 draws and 8 defeats, scoring 20 and conceding 29. On paper, the script was clear. On the pitch, Paolo Vanoli tore it up.
Tactical Voids and Selection Choices
The absentees list told its own small story. Fiorentina were without M. Kean, ruled out with a calf injury. In isolation it was a loss of depth rather than a structural blow, but it nudged Vanoli further towards a fluid, hard-running front line of R. Piccoli, M. Solomon and F. Parisi, all capable of stretching the game rather than playing to feet.
Spalletti’s Juventus lined up in a 4-2-3-1, one of their less-used but increasingly important shapes this season (only 6 league games in that formation heading into this game). M. Di Gregorio anchored the side behind a back four of P. Kalulu, Bremer, L. Kelly and A. Cambiaso. In front, the double pivot of M. Locatelli and T. Koopmeiners was meant to provide control and vertical passing, with an advanced trio of F. Conceicao, W. McKennie and K. Yildiz supplying D. Vlahovic.
Vanoli answered with Fiorentina’s familiar 4-3-3, a structure they had used in 14 league games heading into this fixture. D. de Gea’s presence in goal brought calm behind a back line of Dodo, M. Pongracic, L. Ranieri and R. Gosens. The midfield trio of C. Ndour, N. Fagioli and M. Brescianini was built for industry and second balls, while Parisi and Solomon tucked in around Piccoli to create unpredictable movement between the lines.
Discipline was always going to be a sub-plot. Juventus, with 16 clean sheets overall but also a spiky card profile, tend to collect yellows in the 61-75 minute window (22.00% of their yellow cards) and again late between 76-90 (20.00%). Fiorentina are even more volatile late on: 25.30% of their yellows come between 76-90, and 66.67% of their reds arrive in that same period. This was a game primed to fray at the edges, particularly if the scoreline stayed tight.
Key Matchups: Hunter vs Shield
The headline duel was obvious: Juventus’ attacking structure, spearheaded by Vlahovic and orchestrated by Kenan Yildiz, against a Fiorentina defence often exposed away from home. On their travels, Fiorentina had been conceding 1.5 goals per game (29 against in 19 away matches heading into this game), a vulnerability seemingly tailor-made for a Juventus side averaging 1.8 goals at home.
Yet the “shield” was more nuanced than raw numbers suggested. M. Pongracic, Serie A’s leading yellow-card collector with 12 bookings, has been Fiorentina’s uncompromising anchor. His 26 blocked shots and 35 interceptions this season underline a defender who lives in the line of fire, and against Juventus he was tasked with managing Vlahovic’s movements and attacking crosses from Cambiaso and Conceicao. Alongside him, L. Ranieri — 8 yellows, 1 red, 13 blocked shots, 24 interceptions — brought aggression and timing, even if his disciplinary record made him a walking risk.
For Juventus, the creative burden fell on Yildiz. With 10 goals and 6 assists in Serie A, 76 key passes and 78 successful dribbles, he has been the side’s most incisive attacking mind. But his penalty record heading into this game carried a blemish: 1 scored, 1 missed. In a match where margins were always likely to be thin, that detail lingered in the background.
Behind him, W. McKennie’s engine was supposed to knit transitions together. With 5 goals, 5 assists and 47 key passes, he offers late box runs and diagonal deliveries from the half-spaces. Locatelli, meanwhile, is Juventus’ metronome and shield: 2720 passes at 88% accuracy, 99 tackles, 23 blocked shots and 38 interceptions. His presence in the double pivot was the structural guarantee that Juventus would not be countered at will.
Engine Room and Fiorentina’s Counter-Punch
The real twist came in the engine room. Fiorentina’s season-long numbers suggested a side that scores modestly (1.1 goals per game both home and away) but concedes heavily away. Yet the trio of Ndour, Fagioli and Brescianini tilted the battle in their favour. They disrupted Locatelli and Koopmeiners’ rhythm, forced Juventus to build wide and then trapped them against the touchline, where Dodo and Gosens could step aggressively.
M. Solomon and F. Parisi, nominally wingers, repeatedly found pockets behind McKennie and Conceicao, dragging Kalulu and Cambiaso into awkward decisions. With Juventus often at their most card-prone in the 61-75 and 76-90 minute windows, Fiorentina’s persistence in attacking late and wide was no accident; it was a direct challenge to Juventus’ composure.
Statistical Prognosis and Narrative Verdict
Following this result, the numbers sharpen the narrative. Juventus, who had failed to score in only 4 of their 19 home games heading into this fixture, were shut out entirely. Fiorentina, who had kept just 4 away clean sheets all season, produced a fifth against one of the league’s most efficient home attacks.
On the balance of seasonal data, an Expected Goals model would still lean towards Juventus in this matchup: stronger overall goal difference, higher home scoring rate, tighter defence (0.8 goals conceded per game at home versus Fiorentina’s 1.5 conceded away). But football is played in matchups, not aggregates. Vanoli’s 4-3-3 smothered the central lanes, forced Yildiz and McKennie away from the danger zones, and allowed Pongracic and Ranieri to defend what they like most: crosses and contact.
Juventus’ season-long defensive solidity — 32 goals conceded overall, 16 at home — was finally breached twice by a Fiorentina side that chose its moments wisely, leaning into Juventus’ late-game disciplinary spikes and emotional volatility. The 2-0 scoreline in Turin was not just an upset; it was the logical outcome of a night where Fiorentina’s shield held firm, and Juventus’ hunter never quite found his mark.






