Inter Milan sealed their 20th Italian title by beating arch-rivals and nearest challengers AC Milan in a historic Derby della Madonnina.
Francesco Acerbi was unmarked to head in Benjamin Pavard’s flick-on from a corner to give Inter the lead.
Marcus Thuram latched onto a long ball and was given too much time to cut in before smashing their second into the bottom corner at the San Siro.
England’s Fikayo Tomori headed in from close range to give Milan brief hope.
There were three red cards in injury time as tempers boiled over. Milan’s Theo Hernandez and Inter’s Denzel Dumfries were sent off for their part in a brawl and the hosts ended with nine men as captain Davide Calabria was sent off for violent conduct.
Inter players and coaches ran on to the pitch to celebrate at the final whistle at the ground both sides share, although Milan were the home side for this fixture.
The second-placed Rossoneri are now 17 points behind Inter with five games to go.
Inter could have won by more with Lautaro Martinez missing a sitter and Hakan Calhanoglu’s drive being tipped over by Mike Maignan.
This was the first time the Serie A title has ever been won in the 116 years of the Milan derby.
“I feel like crying because we worked so hard, we deserve this joy,” said captain Martinez, who has scored 25 goals in all competitions this season.
“It’s been wonderful but we have to keep going because we’ve already won a lot of trophies and we want to win many more.”
Inter back on top
Inter Milan’s 20th Italian crown takes them above AC Milan’s 19 Serie A titles and only below Juventus.
But this was only their second title since 2010, last winning under Antonio Conte in 2021.
Simone Inzaghi has brought the good times back to the Nerazzurri, cruising to the Scudetto with five games to spare on the back of a 27-game unbeaten run in the league.
They have scored 79 goals, 15 clear of anybody else, and conceded only 18, eight fewer than any other side.
Inter have now won the last six derbies, equalling the record runs of Milan from 1911-1913 and 1946-1948.
Line-ups
AC Milan
Formation 4-2-3-1
- 16Maignan
- 2CalabriaBooked at 90mins
- 46GabbiaBooked at 90mins
- 23TomoriBooked at 90mins
- 19HernándezBooked at 90mins
- 14ReijndersSubstituted forGiroudat 52′minutes
- 7AdliSubstituted forBennacerat 68′minutes
- 80MusahSubstituted forOkaforat 77′minutes
- 8Loftus-CheekSubstituted forChukwuezeat 68′minutes
- 11Pulisic
- 10Rafael Leão
Substitutes
- 4Bennacer
- 9Giroud
- 15Jovic
- 17Okafor
- 21Chukwueze
- 30Caldara
- 38Terracciano
- 42Florenzi
- 57Sportiello
- 69Nava
Inter Milan
Formation 3-5-2
- 1Sommer
- 28Pavard
- 15Acerbi
- 95BastoniSubstituted forde Vrijat 88′minutes
- 36DarmianSubstituted forDumfriesat 84′minutesBooked at 90mins
- 23BarellaBooked at 22minsSubstituted forFrattesiat 77′minutes
- 20ÇalhanogluSubstituted forAsllaniat 84′minutes
- 22Mkhitaryan
- 32DimarcoSubstituted forZopolato Nevesat 78′minutes
- 9Thuram
- 10La MartÃnezBooked at 32mins
Substitutes
- 2Dumfries
- 5Sensi
- 6de Vrij
- 7Ju Cuadrado
- 8Arnautovic
- 12Di Gennaro
- 14Klaassen
- 16Frattesi
- 17Buchanan
- 21Asllani
- 30Zopolato Neves
- 31Bisseck
- 70Sánchez
- 77Audero
Live Text
-
Match ends, AC Milan 1, Inter Milan 2.
-
Second Half ends, AC Milan 1, Inter Milan 2.
-
Davide Calabria (AC Milan) is shown the red card for violent conduct.
-
Corner, AC Milan. Conceded by Benjamin Pavard.
-
Foul by Davide Calabria (AC Milan).
-
Henrikh Mkhitaryan (Inter Milan) wins a free kick in the defensive half.
-
Corner, AC Milan. Conceded by Davide Frattesi.
-
Théo Hernández (AC Milan) is shown the red card for violent conduct.
-
Denzel Dumfries (Inter Milan) is shown the red card for violent conduct.
-
Foul by Rafael Leão (AC Milan).
-
Davide Frattesi (Inter Milan) wins a free kick on the right wing.
-
Fikayo Tomori (AC Milan) is shown the yellow card for a bad foul.
-
Foul by Fikayo Tomori (AC Milan).
-
Lautaro MartÃnez (Inter Milan) wins a free kick in the defensive half.
-
Matteo Gabbia (AC Milan) is shown the yellow card for a bad foul.
-
Foul by Matteo Gabbia (AC Milan).
-
Lautaro MartÃnez (Inter Milan) wins a free kick on the left wing.
-
Foul by Ismaël Bennacer (AC Milan).
-
Henrikh Mkhitaryan (Inter Milan) wins a free kick on the left wing.
-
Substitution, Inter Milan. Stefan de Vrij replaces Alessandro Bastoni.