Serie A 2025 Derby: Torino vs Juventus Tactical Analysis
On a warm Turin evening at the Stadio Olimpico Grande Torino, the final act of the Serie A 2025 season delivered a derby that felt like a verdict on two very different campaigns. Torino, finishing 12th with 45 points and a goal difference of -19 (44 scored, 63 conceded in total), fought back from a 0–1 half-time deficit to draw 2–2 with a Juventus side that closed in 6th on 69 points and a goal difference of 27 (61 for, 34 against overall). Following this result, the 90 minutes told a story of identity, resilience, and the tactical tensions that have defined both clubs’ seasons.
I. The Big Picture – Systems, Context, and Season DNA
Leonardo Colucci’s Torino lined up in a 3-4-1-2, a shape that mirrors their season-long preference for back-three structures. Across the campaign they used a 3-5-2 in total 16 times and this 3-4-1-2 in total 9 times, always trying to balance defensive density with just enough vertical threat. At home they have averaged 1.4 goals for and 1.5 against, a narrow positive attacking output constantly undermined by defensive looseness.
Against them, Luciano Spalletti stayed true to Juventus’ 3-4-2-1, the formation the Bianconeri used in total 24 times this season. On their travels, Juventus have been efficient and controlled: 1.4 away goals for and only 0.9 away goals against on average, numbers that speak to a side comfortable defending with structure and striking with precision.
The match itself followed that script early: Juventus’ cleaner possession and vertical runs from the second line created the platform for a 1–0 half-time lead, the visitors asserting the authority of a top-six side whose total defensive record – 34 conceded in 38 – has been among the league’s most reliable.
II. Tactical Voids – Absences and Discipline
Both sides arrived with notable absentees that reshaped their defensive cores. Torino were without Z. Aboukhlal (muscle injury), F. Anjorin (hip injury), L. Marianucci (knee injury) and, crucially, G. Maripan suspended for yellow cards. That forced Colucci to lean on a back three of S. Coco, A. Ismajli and E. Ebosse in front of A. Paleari, a unit less tested at this level and more reliant on collective compactness than individual dominance.
Juventus had their own structural hole: Bremer’s suspension for yellow cards removed their premier penalty-box defender, altering the geometry of their back three. L. Kelly and F. Gatti flanked by P. Kalulu offered mobility and aggression, but without Bremer’s aerial command and penalty-area timing, Juventus were more vulnerable when Torino finally committed numbers.
Season-long disciplinary profiles framed the undercurrent of risk. Torino’s yellow-card distribution shows a clear late-game surge: 21.13% of their bookings came between 76–90 minutes and another 21.13% between 91–105 minutes in total. Juventus, by contrast, concentrate 23.08% of their yellows in the 61–75 window and 21.15% from 76–90 in total, with red cards striking at 31–45 and 76–90 minutes. This is a Juventus that often walks the line as games open up; in a derby, that volatility was always going to matter.
III. Key Matchups – Hunter vs Shield, Engine Room vs Enforcer
Hunter vs Shield
For Torino, the attacking reference was always going to be G. Simeone. In total this campaign he scored 11 league goals from 32 appearances, firing 59 shots with 28 on target. He is not just a finisher but a constant agitator: 294 total duels, 112 won, and 41 fouls drawn tell of a forward who wages a physical and psychological war on back lines.
Against Juventus’ away defensive record – only 18 goals conceded on their travels, 0.9 per game – Simeone needed support. Colucci provided it with D. Zapata as a powerful partner and N. Vlasic as the connective 10 behind them. The plan was clear: use Simeone’s relentless movement to drag Gatti and Kelly into awkward zones, then let Zapata and Vlasic attack the vacated channels.
Juventus’ own attacking “hunter” on the day was D. Vlahovic, but the season’s most telling creative-finishing nexus has been K. Yıldız, even though he started this fixture on the bench. Across the campaign Yıldız scored 10 and assisted 6 in total, with 76 key passes and 149 dribble attempts (78 successful). He is both a scorer and a line-breaker, the player who turns Spalletti’s 3-4-2-1 from solid to devastating. His penalty record – 1 scored, 1 missed in total – underlines a high-usage, high-responsibility role in the final third.
Shield side, Juventus’ defensive shield has been collective, but the midfield screen of M. Locatelli and W. McKennie is decisive. Locatelli’s numbers are elite: 102 tackles, 23 blocked shots and 39 interceptions in total, plus 2805 passes at 88% accuracy. He is the metronome and the first line of protection, reading danger early and stepping in front of shots. McKennie adds verticality and chaos: 5 goals, 5 assists, 48 key passes and 40 tackles in total, pressing high and crashing the box.
Engine Room – Control vs Disruption
In this derby, the midfield duel pitted Juventus’ double pivot against Torino’s central trio of E. Ilkhan, G. Gineitis and M. Pedersen. Torino’s season-long identity – 1.2 total goals for and 1.7 total goals against on average – suggests a side that often loses control in the middle, leaving their back three exposed. Colucci’s choice of a 3-4-1-2 tightened the central lanes but risked ceding wide spaces to A. Cambiaso and McKennie as wing- and half-space operators.
Cambiaso, despite his reputation for aggression (1 red card and 3 yellows in total), has been a creative outlet: 4 assists, 56 key passes and 1545 completed passes at 88% accuracy. His ability to step inside and combine with J. Boga and Francisco Conceição gave Juventus numerical superiority between the lines whenever Torino’s wing-backs were pinned deep.
IV. Statistical Prognosis – What the Numbers Say About the Draw
Following this result, the 2–2 feels like a meeting point between Torino’s volatility and Juventus’ structure. Torino end the season with 12 wins, 9 draws and 17 losses in total, conceding 63 overall at an average of 1.7 per game. Even at home, where they won 8 of 19, they still allowed 29 goals, 1.5 per match. This is not a side built to protect narrow leads; it is a side that must embrace chaos and ride the form of forwards like Simeone and Zapata.
Juventus, by contrast, close with 19 wins, 12 draws and only 7 defeats in total. Their total goals against – 34 in 38 – and 16 total clean sheets underline a defensive platform that usually supports a positive xG balance. With 61 total goals for at 1.6 per game, their attack has been efficient rather than explosive, often doing just enough to cash in on their control.
In tactical terms, a notional xG model for this matchup would lean towards Juventus: better away defensive averages, stronger chance creation through Yıldız, McKennie and Conceição, and a midfield that wins the ball higher and more often. Yet Torino’s home scoring rate of 1.4 and Juventus’ tendency to collect cards and lose a bit of control in the last half-hour left the door open for precisely the kind of late, emotional surge that produced the 2–2.
In the end, the derby became a microcosm of both seasons: Juventus, structurally sound but occasionally brittle without key defenders like Bremer; Torino, flawed but fearless, leaning on the work rate and penalty-box instincts of Simeone and the front line to drag a point out of a game that, on paper, should have tilted towards the visitors.


