Cagliari vs AC Milan

2 January 2026 · Serie A · 2025/26 · Referee Rosario Abisso

Full time 0 – 1

Half-time: 0–0

  • Rafael Leão 50’

Match summary

AC Milan beat Cagliari 1-0 on the road. It was goalless at half-time.

Rafael Leão put AC Milan ahead in the 50th minute, set up by Adrien Rabiot.

The chances backed that up: AC Milan created 0.89 expected goals (xG) from 11 shots to Cagliari's 0.31 from 6.

Match stats

46% Possession 54%
6 Shots 11
1 Shots on target 4
6 Corners 7
76 Attacks 122
32 Dangerous attacks 57
447 Passes 538
87% Pass accuracy 87%
22 Tackles 14
10 Fouls 8
2 Yellow cards 1
0 Red cards 0
0 Offsides 2

Key events

Cagliari AC Milan
Kick-off
Ndary AdopoShot on target
32’
Half-time0-0
Second half underway
50’
Rafael LeãoLeft foot shot0-1 (AC Milan)
59’
Davide BartesaghiShot on target
Gennaro BorrelliMatteo Prati
61’
69’
Niclas FüllkrugRafael Leão
Nicolò CavuotiLuca Mazzitelli 
83’
Leonardo Pavoletti  Semih Kılıçsoy
83’
83’
87’
Christian PulisicShot on target
90’
Luka ModricShot on target
Marco PalestraArgument
90+1’
90+1’
Full-time0-1

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.0 0.5 1.0 1.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.31 0.89 50’ Rafael Leão (AC Milan), 0-1 50’ 0.0 0.5 1.0 1.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.31 0.89 50’ Rafael Leão (AC Milan), 0-1 Leão 50’
Cagliari 0.31 xGAC Milan 0.89 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 AC Milan attacking Cagliari attacking 
50’ Rafael Leão (AC Milan), open play, 0.29 xG, goal 49’ Ruben Loftus-Cheek (AC Milan), open play, 0.12 xG, off target 4’ Rafael Leão (AC Milan), open play, 0.10 xG, blocked 87’ Christian Pulisic (AC Milan), open play, 0.10 xG, saved 2’ Marco Palestra (Cagliari), open play, 0.09 xG, off target 70’ Semih Kiliçsoy (Cagliari), open play, 0.08 xG, blocked 17’ Ruben Loftus-Cheek (AC Milan), open play, 0.08 xG, off target 41’ Luca Mazzitelli (Cagliari), open play, 0.07 xG, off target 28’ Koni de Winter (AC Milan), from a corner, 0.05 xG, blocked 47’ Adrien Rabiot (AC Milan), from a corner, 0.04 xG, off target 90’ Luka Modric (AC Milan), direct free kick, 0.04 xG, saved 32’ Ndary Adopo (Cagliari), open play, 0.03 xG, saved 59’ Davide Bartesaghi (AC Milan), direct free kick, 0.03 xG, saved 42’ Youssouf Fofana (AC Milan), open play, 0.03 xG, blocked 1’ Matteo Prati (Cagliari), open play, 0.02 xG, off target 29’ Alexis Saelemaekers (AC Milan), open play, 0.02 xG, off target 3’ Matteo Prati (Cagliari), open play, 0.01 xG, off target 50’ Rafael Leão (AC Milan), open play, 0.29 xG, goal 49’ Ruben Loftus-Cheek (AC Milan), open play, 0.12 xG, off target 4’ Rafael Leão (AC Milan), open play, 0.10 xG, blocked 87’ Christian Pulisic (AC Milan), open play, 0.10 xG, saved 2’ Marco Palestra (Cagliari), open play, 0.09 xG, off target 70’ Semih Kiliçsoy (Cagliari), open play, 0.08 xG, blocked 17’ Ruben Loftus-Cheek (AC Milan), open play, 0.08 xG, off target 41’ Luca Mazzitelli (Cagliari), open play, 0.07 xG, off target 28’ Koni de Winter (AC Milan), from a corner, 0.05 xG, blocked 47’ Adrien Rabiot (AC Milan), from a corner, 0.04 xG, off target 90’ Luka Modric (AC Milan), direct free kick, 0.04 xG, saved 32’ Ndary Adopo (Cagliari), open play, 0.03 xG, saved 59’ Davide Bartesaghi (AC Milan), direct free kick, 0.03 xG, saved 42’ Youssouf Fofana (AC Milan), open play, 0.03 xG, blocked 1’ Matteo Prati (Cagliari), open play, 0.02 xG, off target 29’ Alexis Saelemaekers (AC Milan), open play, 0.02 xG, off target 3’ Matteo Prati (Cagliari), 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

Cagliari 3-5-2 Starting XI
Caprile
Zappa
Luperto
Rodríguez
Palestra
Adopo
Prati 61’
Mazzitelli 83’
Obert 61’
Kılıçsoy 83’
Esposito 66’
AC Milan 3-5-2 Starting XI
Maignan
Bartesaghi
Winter
Tomori
Estupiñán 79’
Rabiot
Modrić
Fofana 69’
Saelemaekers
Loftus-Cheek 79’
Leão 69’

Player stats

PlayerPosMinGAShxGxAKPCards
Elia Caprile GK900 0.000.000
Gabriele Zappa DEF900 0.000.000
Sebastiano Luperto DEF900 0.000.000
Juan Rodríguez DEF900 0.000.000
Marco Palestra MID901 0.090.081
Adam Obert MID620 0.000.000
Ndary Adopo MID901 0.030.091
Luca Mazzitelli MID841 0.070.000
Matteo Prati MID622 0.030.071
Semih Kiliçsoy FWD841 0.080.000
Sebastiano Esposito FWD670 0.000.031
Riyad Idrissi Sub280 0.000.000
Gennaro Borrelli Sub280 0.000.000
Gianluca Gaetano Sub230 0.000.000
Leonardo Pavoletti Sub60 0.000.000
Nicolò Cavuoti Sub60 0.000.000

Starters first, then substitutes. xA is expected assists.

Before kick-off

Cagliari win 15% Avg odds 6.24
Draw 25% Avg odds 3.78
AC Milan win 60% Avg odds 1.56

Chances implied by the average closing odds, with the bookmaker margin removed.

Form going into the game

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

Previous and next meeting

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