Udinese vs AC Milan

25 October 2026 · Serie A · 2026/27 · Referee Matteo Marcenaro

Full time 0 – 2

Half-time: 0–1

  • Christian Pulisic 6’
  • Omari Hutchinson 65’

Match summary

AC Milan won 2-0 away at Udinese. AC Milan led 1-0 at half-time.

Christian Pulisic put AC Milan ahead in the 6th minute, set up by Luka Modric and Omari Hutchinson made it 0-2 in the 65th minute.

The chances backed that up: AC Milan created 3.30 expected goals (xG) from 19 shots to Udinese's 0.79 from 12.

Udinese hosted AC Milan on matchday 8 of Serie A, falling to a 0-2 defeat after trailing 0-1 at half-time. Despite controlling 40 percent of possession and registering 12 shots compared to AC Milan's 19, the home side could not find a breakthrough. AC Milan dominated territory with 60 percent possession, completing 624 passes at an 86 percent accuracy rate. The visitors managed 7 shots on target from their 19 total attempts, while Udinese tested the opposition goalkeeper 5 times from 12 shots. Both teams maintained discipline through a total of 24 fouls, resulting in 1 yellow card for Udinese and 2 for AC Milan.

The scoring opened early when Christian Pulisic put AC Milan ahead in the 6th minute with a right foot shot. The first half saw disciplinary action as Gonçalo Ramos received a yellow card in the 39th minute for an off the ball foul, followed by Jesper Karlström booked for a foul in the 43rd minute. After reaching half-time at 0-1 and following several second-half substitutions, Omari Hutchinson doubled the away advantage in the 65th minute with a right foot shot. A late yellow card was shown to Luka Modrić in the 90th minute before the match concluded at 0-2.

Match stats

40% Possession 60%
12 Shots 19
5 Shots on target 7
5 Corners 4
102 Attacks 100
45 Dangerous attacks 42
412 Passes 624
82% Pass accuracy 86%
24 Tackles 16
11 Fouls 13
1 Yellow cards 2
0 Red cards 0
0 Offsides 1

Key events

Udinese AC Milan
Kick-off
6’
Christian PulisicRight foot shot0-1 (AC Milan)
Hassane KamaraShot on target
10’
Corner
11’
Mergim VojvodaShot on target
31’
39’
Gonçalo RamosOff the ball foul
Jesper KarlströmShot on target
42’
43’
Hassane KamaraShot on target
45’
45+1’
Corner
45+2’
Corner
Half-time0-1
Second half underway
Corner
51’
57’
Corner
60’
Christian PulisicShot on target
65’
Omari HutchinsonRight foot shot0-2 (AC Milan)
65’
Ardon JashariShot on target
Corner
72’
74’
Gonçalo RamosShot on target
Corner
77’
Corner
78’
Keinan DavisShot on target
80’
83’
Ruben Loftus-CheekShot on target
84’
Corner
90’
90+3’
Alphadjo CissèShot on target
Full-time0-2

How the chances added up

Running total of expected goals (xG) for each side through the match. xG rates each chance by how often similar shots are scored. A goal is marked where it was scored.

0 1 2 3 4 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.79 3.30 6’ Christian Pulisic (AC Milan), 0-1 6’ 65’ Omari Hutchinson (AC Milan), 0-2 65’ 0 1 2 3 4 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.79 3.30 6’ Christian Pulisic (AC Milan), 0-1 Pulisic 6’ 65’ Omari Hutchinson (AC Milan), 0-2 Hutchinson 65’
Udinese 0.79 xGAC Milan 3.30 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 AC Milan attacking Udinese attacking 
40’ Davide Bartesaghi (AC Milan), open play, 0.68 xG, off target 65’ Omari Hutchinson (AC Milan), open play, 0.64 xG, goal 80’ Keinan Davis (Udinese), set piece, 0.45 xG, saved 74’ Gonçalo Ramos (AC Milan), open play, 0.39 xG, saved 6’ Christian Pulisic (AC Milan), set piece, 0.30 xG, goal 83’ Ruben Loftus-Cheek (AC Milan), open play, 0.14 xG, saved 27’ Fikayo Tomori (AC Milan), open play, 0.14 xG, off target 60’ Christian Pulisic (AC Milan), open play, 0.13 xG, saved 90’ Ruben Loftus-Cheek (AC Milan), open play, 0.12 xG, blocked 45’ Davide Bartesaghi (AC Milan), open play, 0.12 xG, blocked 69’ Keinan Davis (Udinese), open play, 0.12 xG, off target 68’ Gonçalo Ramos (AC Milan), open play, 0.10 xG, blocked 87’ Alphadjo Cissè (AC Milan), open play, 0.10 xG, off target 61’ Christian Pulisic (AC Milan), open play, 0.09 xG, blocked 12’ Davide Bartesaghi (AC Milan), open play, 0.08 xG, off target 60’ Gonçalo Ramos (AC Milan), open play, 0.07 xG, off target 47’ Strahinja Pavlovic (AC Milan), from a corner, 0.06 xG, off target 84’ Giulio Vinciati (Udinese), open play, 0.06 xG, off target 74’ Christian Pulisic (AC Milan), open play, 0.06 xG, blocked 31’ Jurgen Ekkelenkamp (Udinese), open play, 0.05 xG, blocked 65’ Ardon Jashari (AC Milan), open play, 0.03 xG, saved 79’ Gonçalo Ramos (AC Milan), open play, 0.04 xG, off target 90+3’ Alphadjo Cissè (AC Milan), open play, 0.03 xG, saved 54’ Mergim Vojvoda (Udinese), open play, 0.02 xG, off target 31’ Mergim Vojvoda (Udinese), open play, 0.02 xG, saved 40’ Hassane Kamara (Udinese), open play, 0.02 xG, off target 42’ Jesper Karlström (Udinese), set piece, 0.02 xG, saved 45’ Hassane Kamara (Udinese), set piece, 0.01 xG, saved 75’ Giorgi Chakvetadze (Udinese), open play, 0.01 xG, off target 10’ Hassane Kamara (Udinese), open play, 0.01 xG, saved 90+3’ Nicolo Zaniolo (Udinese), open play, 0.01 xG, off target 40’ Davide Bartesaghi (AC Milan), open play, 0.68 xG, off target 65’ Omari Hutchinson (AC Milan), open play, 0.64 xG, goal 80’ Keinan Davis (Udinese), set piece, 0.45 xG, saved 74’ Gonçalo Ramos (AC Milan), open play, 0.39 xG, saved 6’ Christian Pulisic (AC Milan), set piece, 0.30 xG, goal 83’ Ruben Loftus-Cheek (AC Milan), open play, 0.14 xG, saved 27’ Fikayo Tomori (AC Milan), open play, 0.14 xG, off target 60’ Christian Pulisic (AC Milan), open play, 0.13 xG, saved 90’ Ruben Loftus-Cheek (AC Milan), open play, 0.12 xG, blocked 45’ Davide Bartesaghi (AC Milan), open play, 0.12 xG, blocked 69’ Keinan Davis (Udinese), open play, 0.12 xG, off target 68’ Gonçalo Ramos (AC Milan), open play, 0.10 xG, blocked 87’ Alphadjo Cissè (AC Milan), open play, 0.10 xG, off target 61’ Christian Pulisic (AC Milan), open play, 0.09 xG, blocked 12’ Davide Bartesaghi (AC Milan), open play, 0.08 xG, off target 60’ Gonçalo Ramos (AC Milan), open play, 0.07 xG, off target 84’ Giulio Vinciati (Udinese), open play, 0.06 xG, off target 47’ Strahinja Pavlovic (AC Milan), from a corner, 0.06 xG, off target 74’ Christian Pulisic (AC Milan), open play, 0.06 xG, blocked 31’ Jurgen Ekkelenkamp (Udinese), open play, 0.05 xG, blocked 79’ Gonçalo Ramos (AC Milan), open play, 0.04 xG, off target 65’ Ardon Jashari (AC Milan), open play, 0.03 xG, saved 90+3’ Alphadjo Cissè (AC Milan), open play, 0.03 xG, saved 54’ Mergim Vojvoda (Udinese), open play, 0.02 xG, off target 31’ Mergim Vojvoda (Udinese), open play, 0.02 xG, saved 40’ Hassane Kamara (Udinese), open play, 0.02 xG, off target 42’ Jesper Karlström (Udinese), set piece, 0.02 xG, saved 45’ Hassane Kamara (Udinese), set piece, 0.01 xG, saved 75’ Giorgi Chakvetadze (Udinese), open play, 0.01 xG, off target 10’ Hassane Kamara (Udinese), open play, 0.01 xG, saved 90+3’ Nicolo Zaniolo (Udinese), open play, 0.01 xG, off target
Size shows xG Goal On target Off target or blocked

Hover or tap a shot for the player, minute and xG.

Lineups

Udinese 3-4-2-1 Starting XI
Okoye
Abankwah
Kabasele
Palma
Vojvoda 63’
Piotrowski 46’
Karlström 83’
Kamara 64’
Chakvetadze
Ekkelenkamp
Davis 83’
AC Milan 4-4-1-1 Starting XI
Maignan
Diawara
Pavlović
Winter
Tomori 73’
Bartesaghi 85’
Jashari
Modrić
Hutchinson 73’
Pulisic
Ramos 90’

Player stats

Goalkeeper1 player
90′ 5 2 28 – – – – –
Defenders3 players
90′ 1 1 3 9 3 33 3 – – –
90′ 2 2 1 6 2 49 – – – –
90′ 3 2 1 7 2 45 – – – –
Midfielders9 players
Mergim Vojvoda Taken off
63′ – – 42 1 0.02 2 2 6 1 1 –
Hassane Kamara Taken off
64′ – – 18 – – 2 – 5 – – –
Jesper Karlström Taken off
83′ – – 39 – – 4 – 6 2 –
Jakub Piotrowski Taken off
45′ – – 15 1 0.02 2 1 3 – 1 –
90′ – – 49 3 0.09 1 – 4 1 – –
90′ – – 36 – – 2 – 2 1 – –
Lennon Miller Came on as a substitute
45′ – – 21 1 0.12 1 – 1 1 – –
Juan Arizala Came on as a substitute
26′ – – 12 – – – – 1 – 1 –
Sandi Lovric Came on as a substitute
11′ – – 2 1 0.06 – 1 – – – –
Forwards3 players
Keinan Davis Taken off
83′ – – 2 1 0.57 – – 3 1 15 –
Nicolo Zaniolo Came on as a substitute
27′ – – 1 – 0.01 – – 2 – 8 –
Giulio Vinciati Came on as a substitute
11′ – – 1 – 0.06 – – 1 – – –
Came on Taken off Sent off Red is the most in that position for the team

Every player who took the pitch, starters first and then substitutes. A dash means none. xG and xA are expected goals and assists.

Before kick-off

Udinese win 21% Avg odds 4.52 Our estimate 23%
Draw 26% Avg odds 3.63 Our estimate 25%
AC Milan win 53% Avg odds 1.77 Our estimate 52%

Chances implied by the average closing odds, with the bookmaker margin removed. Our estimate is the figure from before kick-off. How our figures work.

Form going into the game

Last five league games before this one, oldest first. Select one to open it.

Previous and next meeting

Match report

All Serie A news 

Our write-up of this game.

Shots, expected goals and player data from Understat. Timeline, lineups, team and player statistics from Sportmonks. Results and odds from football-data.co.uk.