Serie A Gameweek 23

Udinese 1 - 0 FT AS Roma

Bluenergy Stadium - Stadio Friuli

Match previews and recaps to help you decide which games are worth watching

Futmetrix Verdict
39
FT
Mon, Feb 2
Italiano
Udinese
1-0
AS Roma
⚡ Intensity 28
⚖️ Balance 20
🏆 Stakes 33
🎲 Upset 60
Ekkelenkamp strike stuns wasteful Roma side.

Win Probability

  • Udinese 23%
  • Draw 29%
  • AS Roma 49%

Futmetrix AI estimate

Friulian Resistance: Ekkelenkamp Punishes Wasteful Roma

Skip It Futmetrix Score: 39/100. A masterclass in defensive resilience allows Udinese to snatch a vital victory, significantly denting Roma's aspirations for a top-four finish in a high-stakes encounter.

Roma Control but Fail to Convert

Under the lights of the Bluenergy Stadium - Stadio Friuli, the match began with AS Roma asserting total tactical dominance. The visitors dominated possession with 64%, forcing Udinese into a deep defensive block from the opening whistle. An Intensity rating of 46 reflected a game of patience rather than end-to-end chaos, as Roma recorded 11 corners in an attempt to break the deadlock. Lorenzo Pellegrini pulled the strings in midfield, but the Giallorossi found it impossible to penetrate a disciplined home defense. Oumar Solet was exceptional for the hosts, marshaling the backline and ensuring that Roma’s 10 total shots were mostly contested or blocked before reaching the goalkeeper, setting the stage for a classic smash-and-grab performance.

The Pivot: Ekkelenkamp’s Clinical Moment

The defining moment arrived early in the second half, defying the run of play. In the 49th minute, the Balance of the tie was shattered when J. Ekkelenkamp found space in a crowded penalty area. In what was Udinese’s only shot on target from inside the box, the forward reacted quickest to a loose ball to fire home. This goal completely altered the narrative, rewarding Udinese for their defensive discipline and highlighting a significant Upset Factor of 60. Roma, shocked by the setback, immediately increased their tempo, but their frustration began to show through misplaced passes and tactical fouls. The home side, buoyed by the lead, grew in confidence, effectively closing the passing lanes that Roma had exploited so easily during the first half.

Okoye Stands Tall in the Siege

As the clock ticked down, the match became a desperate search for an equalizer from the visitors. However, Maduka Okoye produced a goalkeeping clinic to preserve the lead. Making three crucial saves, Okoye denied Roma's frontline with spectacular reflexes, turning the Bluenergy Stadium - Stadio Friuli into a fortress. With the Stakes incredibly high for Roma's Champions League hopes, they threw everything forward, yet Udinese's 18 fouls and 5 yellow cards illustrated their determination to stop the visitors by any means necessary. The final whistle confirmed a famous 1-0 victory for Udinese, moving them to 32 points and proving that possession without a clinical edge is a dangerous game in Serie A. For AS Roma, it is a night of missed opportunities and tactical regret.

Key Questions

What made Maduka Okoye the Man of the Match?

Okoye earned the honors with three crucial saves and a commanding presence, ensuring a clean sheet against a Roma side that produced an xG of 0.74.

What is the Futmetrix Score?

The Futmetrix Score is our 0-100 verdict on how entertaining a match is. We look at intensity, balance, stakes, and star quality to tell you if it's worth your time.

Match Statistics

Possession
36%
64%
Udinese 36%
AS Roma 64%
Shots
7
10
Udinese 7
AS Roma 10
Shots on Target
4
3
Udinese 4
AS Roma 3
Expected Goals (xG)
0.54
0.74
Udinese 0.54
AS Roma 0.74
Passes
294
507
Udinese 294
AS Roma 507
Pass Accuracy
76%
87%
Udinese 76%
AS Roma 87%
Corners
4
7
Udinese 4
AS Roma 7
Fouls
18
17
Udinese 18
AS Roma 17
Yellow Cards
5
4
Udinese 5
AS Roma 4
Red Cards
0
0
Udinese 0
AS Roma 0

Match Events

Evan Ndicka 🟨 7'
17' 🟨 Keinan Davis
HT
Gianluca Mancini 🟨 48'
49' ⚽ J. Ekkelenkamp
56' 🔄 ↓ K. Davis ↑I. Gueye
Neil El Aynaoui 🟨 59'
62' 🟨 Jordan Zemura
↓ L. Pellegrini ↑L. Venturino 🔄 67'
69' 🟨 Lennon Miller
70' 🟨 Idrissa Gueye
↓ M. Hermoso ↑D. Ghilardi 🔄 70'
↓ N. El Aynaoui ↑N. Pisilli 🔄 78'
↓ M. Soule ↑R. Vaz 🔄 78'
↓ Z. Celik ↑K. Tsimikas 🔄 79'
79' 🔄 ↓ N. Bertola ↑C. Kabasele
79' 🔄 ↓ L. Miller ↑O. Zarraga
90'+1 🔄 ↓ J. Ekkelenkamp ↑N. Zaniolo
90'+2 🔄 ↓ Udinese ↑V. Bayo
FT

Player Cards

Our take on every player in this match

Udinese

Goalkeepers
Maduka Okoye
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
90
Total Mins
Started
Entry
Defenders
Oumar Solet
WALL
WALL
0
Dribbled Past
0
Dribbled Past
3
Tackles
70%
Duel Win %
Thomas Kristensen
SHIELD
SHIELD
3
Blocks
3
Blocks
1
Interceptions
2
Tackles
Nicolò Bertola
LATE SHIFT
LATE SHIFT
11
Late Mins
11
Late Mins
79
Total Mins
79
Entry
Midfielders
Kingsley Ehizibue
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
90
Total Mins
Started
Entry
Jesper Karlström
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
90
Total Mins
Started
Entry
Lennon Miller
LATE SHIFT
LATE SHIFT
11
Late Mins
11
Late Mins
79
Total Mins
79
Entry
Jordan Zemura
SWEEPER
SWEEPER
4
Cleanups
4
Cleanups
4
Interceptions
0
Blocks
Forwards
Jurgen Ekkelenkamp
FINISHER
FINISHER
1
Goals
1
Goals
3
Shots
8.2
Rating
Arthur Atta
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
90
Total Mins
Started
Entry
Keinan Davis
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
56
Total Mins
56
Entry
BENCH
Alessandro Nunziante
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Daniele Padelli
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Christian Kabasele
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
11
Total Mins
Started
Entry
Juan Arizala
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Abdoulaye Camara
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Oier Zarraga
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
11
Total Mins
Started
Entry
Nicolò Zaniolo
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
1
Total Mins
Started
Entry
Idrissa Gueye
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
33
Total Mins
Started
Entry
Vakoun Bayo
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
1
Total Mins
Started
Entry
Alessandro Zanoli
👻 Invisible Nothing to note

AS Roma

Goalkeepers
Mile Svilar
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
90
Total Mins
Started
Entry
Defenders
Gianluca Mancini
STORMTROOPER
STORMTROOPER
1
Shots
1
Shots
0
Goals
1
On Target
Evan Ndicka
WALL
WALL
0
Dribbled Past
0
Dribbled Past
3
Tackles
58%
Duel Win %
Mario Hermoso
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
70
Total Mins
70
Entry
Midfielders
Zeki Çelik
LATE SHIFT
LATE SHIFT
11
Late Mins
11
Late Mins
79
Total Mins
79
Entry
Bryan Cristante
MAGNET
MAGNET
98
Activity
98
Activity
79
Passes
19
Duels
Neil El Aynaoui
LATE SHIFT
LATE SHIFT
12
Late Mins
12
Late Mins
78
Total Mins
78
Entry
Wesley
PROVOCATEUR
PROVOCATEUR
3
Fouls Won
3
Fouls Won
9
Duels Won
0
Pens Won
Forwards
Matías Soulé
LATE SHIFT
LATE SHIFT
12
Late Mins
12
Late Mins
79
Total Mins
78
Entry
Lorenzo Pellegrini
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
67
Total Mins
67
Entry
Donyell Malen
PROVOCATEUR
PROVOCATEUR
3
Fouls Won
3
Fouls Won
6
Duels Won
0
Pens Won
BENCH
Devis Vasquez
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Pierluigi Gollini
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Konstantinos Tsimikas
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
11
Total Mins
Started
Entry
Jan Ziółkowski
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Devyne Rensch
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Daniele Ghilardi
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
20
Total Mins
Started
Entry
Angeliño
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Niccolò Pisilli
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
12
Total Mins
Started
Entry
Mattia Della Rocca
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Lorenzo Venturino
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
23
Total Mins
Started
Entry
Antonio Arena
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Robinio Vaz
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
11
Total Mins
Started
Entry

Head to Head

Date Home Score Away Competition Venue
11/09/2025 AS Roma 2 - 0 Udinese Serie A Stadio Olimpico
01/26/2025 Udinese 1 - 2 AS Roma Serie A Bluenergy Stadium
09/22/2024 AS Roma 3 - 0 Udinese Serie A Stadio Olimpico
04/25/2024 Udinese 1 - 2 AS Roma Serie A Bluenergy Stadium
11/26/2023 AS Roma 3 - 1 Udinese Serie A Stadio Olimpico
04/16/2023 AS Roma 3 - 0 Udinese Serie A Stadio Olimpico
11/09/2025
Serie A Stadio Olimpico
01/26/2025
Serie A Bluenergy Stadium
09/22/2024
Serie A Stadio Olimpico
04/25/2024
Serie A Bluenergy Stadium
11/26/2023
Serie A Stadio Olimpico
04/16/2023
Serie A Stadio Olimpico
Udinese Win
AS Roma Win
Draw

League Standings

Pos Team P Pts GF GA GD Form
1 Inter 23 55 52 19 +33 WCremonese 0 - 2 Inter (01-02-2026)WInter 6 - 2 Pisa (23-01-2026)WUdinese 0 - 1 Inter (17-01-2026)WInter 1 - 0 Lecce (14-01-2026)DInter 2 - 2 Napoli (11-01-2026)
2 AC Milan 23 50 38 17 +21 WBologna 0 - 3 AC Milan (03-02-2026)DAS Roma 1 - 1 AC Milan (25-01-2026)WAC Milan 1 - 0 Lecce (18-01-2026)WComo 1 - 3 AC Milan (15-01-2026)DFiorentina 1 - 1 AC Milan (11-01-2026)
3 Napoli 23 46 33 21 +12 WNapoli 2 - 1 Fiorentina (31-01-2026)LJuventus 3 - 0 Napoli (25-01-2026)WNapoli 1 - 0 Sassuolo (17-01-2026)DNapoli 0 - 0 Parma (14-01-2026)DInter 2 - 2 Napoli (11-01-2026)
4 Juventus 23 45 39 18 +21 WParma 1 - 4 Juventus (01-02-2026)WJuventus 3 - 0 Napoli (25-01-2026)LCagliari 1 - 0 Juventus (17-01-2026)WJuventus 5 - 0 Cremonese (12-01-2026)WSassuolo 0 - 3 Juventus (06-01-2026)
5 AS Roma 23 43 27 14 +13 LUdinese 1 - 0 AS Roma (02-02-2026)DAS Roma 1 - 1 AC Milan (25-01-2026)WTorino 0 - 2 AS Roma (18-01-2026)WAS Roma 2 - 0 Sassuolo (10-01-2026)WLecce 0 - 2 AS Roma (06-01-2026)
6 Como 23 41 37 16 +21 DComo 0 - 0 Atalanta (01-02-2026)WComo 6 - 0 Torino (24-01-2026)WLazio 0 - 3 Como (19-01-2026)LComo 1 - 3 AC Milan (15-01-2026)DComo 1 - 1 Bologna (10-01-2026)
7 Atalanta 23 36 30 20 +10 DComo 0 - 0 Atalanta (01-02-2026)WAtalanta 4 - 0 Parma (25-01-2026)DPisa 1 - 1 Atalanta (16-01-2026)WAtalanta 2 - 0 Torino (10-01-2026)WBologna 0 - 2 Atalanta (07-01-2026)
8 Lazio 23 32 24 21 +3 WLazio 3 - 2 Genoa (30-01-2026)DLecce 0 - 0 Lazio (24-01-2026)LLazio 0 - 3 Como (19-01-2026)WHellas Verona 0 - 1 Lazio (11-01-2026)DLazio 2 - 2 Fiorentina (07-01-2026)
9 Udinese 23 32 26 34 -8 WUdinese 1 - 0 AS Roma (02-02-2026)WHellas Verona 1 - 3 Udinese (26-01-2026)LUdinese 0 - 1 Inter (17-01-2026)DUdinese 2 - 2 Pisa (10-01-2026)WTorino 1 - 2 Udinese (07-01-2026)
10 Bologna 23 30 32 30 +2 LBologna 0 - 3 AC Milan (03-02-2026)LGenoa 3 - 2 Bologna (25-01-2026)LBologna 1 - 2 Fiorentina (18-01-2026)WHellas Verona 2 - 3 Bologna (15-01-2026)DComo 1 - 1 Bologna (10-01-2026)
11 Sassuolo 23 29 27 29 -2 WPisa 1 - 3 Sassuolo (31-01-2026)WSassuolo 1 - 0 Cremonese (25-01-2026)LNapoli 1 - 0 Sassuolo (17-01-2026)LAS Roma 2 - 0 Sassuolo (10-01-2026)LSassuolo 0 - 3 Juventus (06-01-2026)
12 Cagliari 23 28 28 31 -3 WCagliari 4 - 0 Hellas Verona (31-01-2026)WFiorentina 1 - 2 Cagliari (24-01-2026)WCagliari 1 - 0 Juventus (17-01-2026)LGenoa 3 - 0 Cagliari (12-01-2026)DCremonese 2 - 2 Cagliari (08-01-2026)
13 Torino 23 26 22 40 -18 WTorino 1 - 0 Lecce (01-02-2026)LComo 6 - 0 Torino (24-01-2026)LTorino 0 - 2 AS Roma (18-01-2026)LAtalanta 2 - 0 Torino (10-01-2026)LTorino 1 - 2 Udinese (07-01-2026)
14 Genoa 23 23 27 34 -7 LLazio 3 - 2 Genoa (30-01-2026)WGenoa 3 - 2 Bologna (25-01-2026)DParma 0 - 0 Genoa (18-01-2026)WGenoa 3 - 0 Cagliari (12-01-2026)DAC Milan 1 - 1 Genoa (08-01-2026)
15 Cremonese 23 23 20 31 -11 LCremonese 0 - 2 Inter (01-02-2026)LSassuolo 1 - 0 Cremonese (25-01-2026)DCremonese 0 - 0 Hellas Verona (19-01-2026)LJuventus 5 - 0 Cremonese (12-01-2026)DCremonese 2 - 2 Cagliari (08-01-2026)
16 Parma 23 23 15 30 -15 LParma 1 - 4 Juventus (01-02-2026)LAtalanta 4 - 0 Parma (25-01-2026)DParma 0 - 0 Genoa (18-01-2026)DNapoli 0 - 0 Parma (14-01-2026)WLecce 1 - 2 Parma (11-01-2026)
17 Lecce 23 18 13 30 -17 LTorino 1 - 0 Lecce (01-02-2026)DLecce 0 - 0 Lazio (24-01-2026)LAC Milan 1 - 0 Lecce (18-01-2026)LInter 1 - 0 Lecce (14-01-2026)LLecce 1 - 2 Parma (11-01-2026)
18 Fiorentina 23 17 25 36 -11 LNapoli 2 - 1 Fiorentina (31-01-2026)LFiorentina 1 - 2 Cagliari (24-01-2026)WBologna 1 - 2 Fiorentina (18-01-2026)DFiorentina 1 - 1 AC Milan (11-01-2026)DLazio 2 - 2 Fiorentina (07-01-2026)
19 Pisa 23 14 19 40 -21 LPisa 1 - 3 Sassuolo (31-01-2026)LInter 6 - 2 Pisa (23-01-2026)DPisa 1 - 1 Atalanta (16-01-2026)DUdinese 2 - 2 Pisa (10-01-2026)LPisa 0 - 3 Como (06-01-2026)
20 Hellas Verona 23 14 18 41 -23 LCagliari 4 - 0 Hellas Verona (31-01-2026)LHellas Verona 1 - 3 Udinese (26-01-2026)DCremonese 0 - 0 Hellas Verona (19-01-2026)LHellas Verona 2 - 3 Bologna (15-01-2026)LHellas Verona 0 - 1 Lazio (11-01-2026)

Find your next match faster.

Honest match ratings. Find what is worth watching—without the clutter.

Bookmark this page

This page updates as new matches arrive.

Keep these picks handy.

Press Ctrl+D, then confirm in your browser.

Viewed labels stay on this device. We don't receive your reading history.

Keep Futmetrix handy

Honest match ratings. Find what is worth watching—without the clutter.