Serie A Regular Season - 30

AC Milan 3 - 2 FT Torino

Stadio Giuseppe Meazza

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

Futmetrix Verdict
90
FT
Sat, Mar 21
Italiano
AC Milan
3-2
Torino
⚡ Intensity 79
⚖️ Balance 66
🏆 Stakes 69
🎲 Upset 0
Milan survive chaotic five-goal thriller.

Milan Outlast Torino in Meazza Thriller

Must-Watch Futmetrix Score: 90/100. A frenetic five-goal shootout at Stadio Giuseppe Meazza proved AC Milan's top-four credentials, though a resilient Torino pushed them to the absolute limit.

Early Sparring & The Breakthrough

The hosts dominated possession from the opening whistle, weaving intricate passing networks to pin the visitors back. Despite seeing less of the ball, the away side brought fierce Intensity, constantly threatening on the counter and generating a barrage of early shots. The persistent pressure finally cracked the defensive block in the 36th minute when S. Pavlovic found the back of the net to give the home side a deserved advantage. However, the celebrations were short-lived. Refusing to fold, the visitors struck back right before the interval. G. Simeone silenced the home crowd at the 44-minute mark, ensuring both sides headed into the dressing rooms deadlocked.

Twelve Minutes of Chaos

The match Balance completely fractured immediately after the restart, producing a breathtaking flurry of attacking football. The hosts stepped on the gas, ripping through the defensive lines with ruthless precision. A. Rabiot restored the lead in the 54th minute, finishing off a slick move orchestrated by C. Pulisic. Barely giving the opposition time to breathe, a tactical masterstroke from the bench paid immediate dividends. Substitute Z. Athekame made an instant impact, carving open the defense to set up Y. Fofana just two minutes later. Three goals in a frantic twelve-minute window completely transformed the complexion of the afternoon.

The Late Penalty Drama

With Champions League Stakes looming large over the season horizon, the home side tried to kill the tempo. Luka Modrić put on a midfield clinic, expertly pulling the strings to drain the clock. Yet, the drama was far from over. A late penalty awarded to the visitors set up a nerve-wracking finale. N. Vlasic stepped up and coolly converted from the spot in the 82nd minute, drastically raising the Upset Factor for the dying moments. The hosts were forced to dig deep, surviving a frantic final push to secure a vital 3-2 victory that keeps them firmly planted in the top-three race.

Key Questions

What caused the 5-goal thriller?

A frantic 12-minute window saw three goals, fueled by Milan dominating possession and Torino's aggressive counter-attacking approach generating 18 total shots.

What does this mean for AC Milan's season?

This vital victory solidifies Milan's top-three status, keeping them firmly in control of their Champions League qualification destiny with nine games remaining.

How did substitute Youssouf Fofana change the game?

Fofana delivered the decisive blow, finishing a brilliant assist from substitute Z. Athekame in the 56th minute to secure a vital two-goal cushion.

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
63%
37%
AC Milan 63%
Torino 37%
Shots
15
18
AC Milan 15
Torino 18
Shots on Target
6
7
AC Milan 6
Torino 7
Expected Goals (xG)
1.34
2.22
AC Milan 1.34
Torino 2.22
Passes
563
311
AC Milan 563
Torino 311
Pass Accuracy
89%
85%
AC Milan 89%
Torino 85%
Corners
3
6
AC Milan 3
Torino 6
Fouls
8
10
AC Milan 8
Torino 10
Yellow Cards
2
1
AC Milan 2
Torino 1
Red Cards
0
0
AC Milan 0
Torino 0

Match Events

9' 🟨 F. Tomori
36' S. Pavlovic
G. Simeone 44'
HT
46' 🔄 F. Tomori Z. Athekame
54' A. Rabiot (C. Pulisic)
56' Y. Fofana (Z. Athekame)
M. Prati E. Ilkhan 🔄 64'
D. Zapata C. Adams 🔄 64'
69' 🔄 Y. Fofana S. Ricci
70' 🔄 N. Fullkrug C. Nkunku
G. Gineitis C. Casadei 🔄 74'
77' 🔄 C. Pulisic S. Gimenez
82' 🟨 S. Pavlovic
N. Vlasic 82'
E. Ebosse S. Kulenovic 🔄 89'
R. Obrador N. Nkounkou 🔄 89'
90'+1 🔄 A. Saelemaekers D. Odogu
E. Ilkhan 🟨 90'+3
90'+6 🟨 S. Gimenez
FT

Player Cards

Our take on every player in this match

AC Milan

Goalkeepers
Mike Maignan
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Defenders
Fikayo Tomori
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
45
Total Mins
46
Entry
Koni De Winter
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Strahinja Pavlović
FRIENDLY FIRE
FRIENDLY FIRE
Pen Given
Mistake
Pen Given
Mistake
1
Fouls
7.2
Rating
Midfielders
Alexis Saelemaekers
👻 Invisible Nothing to note
Youssouf Fofana
SNIPER
SNIPER
100%
Conversion
100%
Conversion
1
Goals
1
Shots
Luka Modrić
MAGNET
MAGNET
92
Activity
92
Activity
87
Passes
5
Duels
Adrien Rabiot
SNIPER
SNIPER
50%
Conversion
50%
Conversion
1
Goals
2
Shots
Davide Bartesaghi
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Forwards
Niclas Füllkrug
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
70
Total Mins
70
Entry
Christian Pulišić
PROVIDER
PROVIDER
1
Assists
1
Assists
1
Key Passes
7.3
Rating
BENCH
Pietro Terracciano
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Matteo Pittarella
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Zachary Athekame
SUPER SUB
SUPER SUB
1
Assist
1
Assist
50
Minutes
6.9
Rating
David Odogu
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
4
Total Mins
Started
Entry
Pervis Estupiñán
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Samuele Ricci
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
25
Total Mins
Started
Entry
Ardon Jashari
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Christopher Nkunku
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
25
Total Mins
Started
Entry
Santiago Giménez
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
18
Total Mins
Started
Entry

Torino

Goalkeepers
Alberto Paleari
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Defenders
Saúl Coco
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Ardian Ismajli
WALL
WALL
0
Dribbled Past
0
Dribbled Past
2
Tackles
88%
Duel Win %
Enzo Ebosse
PROVOCATEUR
PROVOCATEUR
2
Fouls Won
2
Fouls Won
3
Duels Won
0
Pens Won
Midfielders
Marcus Pedersen
ARCHITECT
ARCHITECT
3
Key Passes
3
Key Passes
0
Assists
14%
Pass Acc
Nikola Vlašić
CLOSER
CLOSER
1
Late Goals
1
Late Goals
0
Late Assists
75
Minute
Matteo Prati
STORMTROOPER
STORMTROOPER
2
Shots
2
Shots
0
Goals
0
On Target
Gvidas Gineitis
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
74
Total Mins
74
Entry
Rafael Obrador
ARCHITECT
ARCHITECT
4
Key Passes
4
Key Passes
0
Assists
23%
Pass Acc
Forwards
Giovanni Simeone
FINISHER
FINISHER
1
Goals
1
Goals
4
Shots
7.6
Rating
Duván Zapata
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
63
Total Mins
64
Entry
BENCH
Lapo Siviero
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Franco Israel
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Luca Marianucci
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Guillermo Maripán
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Cristiano Biraghi
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Niels Nkounkou
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
6
Total Mins
Started
Entry
Valentino Lazaro
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Emirhan İlkhan
STORMTROOPER
STORMTROOPER
2
Shots
2
Shots
0
Goals
0
On Target
Adrien Tameze
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Cesare Casadei
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
21
Total Mins
Started
Entry
Faustino Anjorin
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Ivan Ilić
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Che Adams
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
32
Total Mins
Started
Entry
Sandro Kulenović
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
6
Total Mins
Started
Entry

Head to Head

Date Home Score Away Competition Venue
12/08/2025 Torino 2 - 3 AC Milan Serie A Stadio Olimpico di Torino
02/22/2025 Torino 2 - 1 AC Milan Serie A Stadio Olimpico Grande Torino
08/17/2024 AC Milan 2 - 2 Torino Serie A Stadio Giuseppe Meazza
05/18/2024 Torino 3 - 1 AC Milan Serie A Stadio Olimpico Grande Torino
08/26/2023 AC Milan 4 - 1 Torino Serie A Stadio Giuseppe Meazza
02/10/2023 AC Milan 1 - 0 Torino Serie A Stadio Giuseppe Meazza
12/08/2025
Serie A Stadio Olimpico di Torino
02/22/2025
Serie A Stadio Olimpico Grande Torino
08/17/2024
Serie A Stadio Giuseppe Meazza
05/18/2024
Serie A Stadio Olimpico Grande Torino
08/26/2023
Serie A Stadio Giuseppe Meazza
02/10/2023
Serie A Stadio Giuseppe Meazza
AC Milan Win
Torino Win
Draw

League Standings

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