Serie A · Matchweek 19
1:2
Cesare Casadei 87'
HT 0:0
Nicolò Zaniolo 50'
Jürgen Ekkelenkamp 82'
Wed, 7 Jan 2026, 19:45 (UK) · Stadio Olimpico di Torino, Turin
Torino 11th → 12th · 23 pts|Udinese 12th → 9th · 25 pts

Udinese won on the scoreboard and on xG (1.09–2.15).

Player of the matchJürgen Ekkelenkamp8.2Decisive moment50' Nicolò Zaniolo+1.2

Torino 1-2 Udinese

Key numbers

  • Possession 54% – 46%
  • Shots 10 (4 on target) – 9 (4)
  • Decisive moment: 50' Nicolò Zaniolo, FN xPts +1.2
Player of the match
Jürgen Ekkelenkamp 8.2Dominant

Highest FN Score on the pitch: 8.2 (Dominant)

Game state

0-10-21-2
Torino ahead 0 min · level 50 min · Udinese ahead 40 min

FN xPts — what each moment was worth

How much each moment changed that team's expected points (win 3, draw 1). A goal's value is credited 70% to the scorer and 30% to the assist.

50' Nicolò Zaniolo Goal · scorer +0.8 · assist Alessandro Zanoli +0.4 +1.2
82' Jürgen Ekkelenkamp Goal · assist Keinan Davis +0.2
87' Cesare Casadei Goal · assist Valentino Lazaro +0.1
Torino Expected (last two seasons) 1.5Own moments +0.1Opponent moments −1.0Time effect −0.6→ League points won 0
Udinese Expected (last two seasons) 1.2Own moments +1.4Opponent moments −0.2Time effect +0.6→ League points won 3

Expected points don't add up to a fixed total (a draw is 1 + 1), so an opponent's moment isn't simply the mirror of your loss. "Time effect" is the change as the clock runs down on a lead or a chase, and isn't credited to any player.

How FN Score and FN xPts work →

Match stats

TorinoUdinese
54%Possession46%
1.09Expected goals (xG)2.15
0.11xG per shot0.24
10Shots9
4Shots on target4
40%Shots on target %44%
7Shots in box9
444Passes391
80%Pass accuracy76%
3Corners6
2Saves3
16Fouls8
2Yellow cards1
1Offsides0

Compared with usual

Torino

20 matches this season, all competitions baseline
This matchAvg
Goals11.1
Conceded21.4
xG1.091.1
xG against2.151.2
Shots1012.8
On target44.5
Shots faced912.8
xG per shot0.110.09
Possession54%45.5%
Passes444375.7
Pass accuracy80%79.5%
Corners34.8
Fouls1614.3

Udinese

21 matches this season, all competitions baseline
This matchAvg
Goals21
Conceded11.5
xG2.150.9
xG against1.091.2
Shots912.4
On target44.2
Shots faced1012.6
xG per shot0.240.08high
Possession46%46.6%
Passes391373.9
Pass accuracy76%81.1%
Corners64.2
Fouls813.9

Timeline

  • 11' Yellow Saúl Coco
  • 20' VAR Christian Kabasele
  • 46' Sub Alieu Njie → Che Adams
  • 50' Goal Nicolò Zaniolo league goal #5 assist Alessandro Zanoli
  • 61' Sub Nicolò Zaniolo → Arthur Atta
  • 61' Sub Alessandro Zanoli → Jakub Piotrowski
  • 66' Sub Emirhan İlkhan → Faustino Anjorin
  • 66' Sub Zakaria Aboukhlal → Cyril Ngonge
  • 66' Sub Giovanni Simeone → Duván Zapata
  • 69' Yellow Thomas Kristensen
  • 77' Sub Ardian Ismajli → Adrien Tameze
  • 80' Sub Lennon Miller → Kingsley Ehizibue
  • 82' Goal Jürgen Ekkelenkamp league goal #2 assist Keinan Davis
  • 85' Sub Jürgen Ekkelenkamp → Oier Zarraga
  • 85' Sub Thomas Kristensen → Nicolò Bertola
  • 87' Goal Cesare Casadei league goal #2 assist Valentino Lazaro
  • 90+1' Yellow Cesare Casadei

Category leaders

  • Key passesJürgen Ekkelenkamp3
  • Duels wonCesare Casadei12/21
  • DribblesCesare Casadei2/2
  • Defensive actionsGuillermo Maripán6
  • ShotsCesare Casadei3 (on target 2)
  • Fouls wonLennon Miller3

Past-season matches are summarised from match data (API-Football) without a written review. FN Score and FN xPts are calculated by Fulltime Note using a published formula.