Match ends, Napoli 0, AC Milan 1.
AC Milan edged ahead in the Serie A title race as Olivier Giroud gave them what could prove a crucial victory over fellow challengers Napoli.
The French striker stuck out a boot to steer in Davide Calabria's low, driven cross early in the second half.
Napoli pushed hard in search of a route back into the game but could not find a way past a stubborn visitors defence.
The win takes Milan top on 60 points, two points better than fierce rivals Inter Milan and three ahead of Napoli.
It was a high-quality game between two sides, but one low on clear goal-scoring chances.
Victor Osimhen saw a couple of shots saved by Mike Maignan and substitute Adam Ounas flashed an effort wide as the home side desperately sought parity.
Milan felt they should have had a penalty for a foul by Kalidou Koulibaly on Ismael Bennacer but the referee waved away the shouts, as he did at the other end for Fikayo Tomori's challenge on Osimhen.
It was an eventful game for Giroud.
The ex-Arsenal and Chelsea player suffered a cut in the first half that appeared as though it might end his game, but he stayed on and struck the decisive blow before limping off after falling awkwardly.
In more positive injury news for Milan boss Stefano Pioli, Zlatan Ibrahimovic made his return as a late substitute to help see out the win.
It means a two-point lead at the top, although remaining champions Inter - who were 5-0 over Salernitana on Friday - have a game in hand.
Juventus remain an outside bet for the title after extending their unbeaten league run to 14 games with a 1-0 win over Spezia.
Alvaro Morata scored the only goal for Massimiliano Allegri's side, who were not at their best but dug deep for a vital win.
Juve move on to 53 points in the fourth and final Champions League spot, where they sit six points above fifth-placed Atalanta, who have a game in hand.
Line-ups
Napoli
Formation 4-2-3-1
- 25Ospina
- 22Di Lorenzo
- 13RrahmaniBooked at 37mins
- 26KoulibalyBooked at 24mins
- 6Mário Rui
- 8RuizSubstituted forMertensat 76'minutes
- 68LobotkaSubstituted forLozanoat 82'minutes
- 21PolitanoSubstituted forOunasat 67'minutesBooked at 90mins
- 20ZielinskiSubstituted forZambo Anguissaat 82'minutes
- 24InsigneSubstituted forElmasat 67'minutes
- 9OsimhenBooked at 77mins
Substitutes
- 1Meret
- 4Demme
- 5Nunes Jesus
- 7Elmas
- 11Lozano
- 12Marfella
- 14Mertens
- 31Ghoulam
- 33Ounas
- 37Petagna
- 59Zanoli
- 99Zambo Anguissa
AC Milan
Formation 4-3-3
- 16MaignanBooked at 83mins
- 2CalabriaSubstituted forFlorenziat 80'minutesBooked at 90mins
- 20Kalulu
- 23Tomori
- 19HernándezBooked at 77mins
- 4Bennacer
- 8TonaliSubstituted forKrunicat 67'minutes
- 79Kessié
- 30MessiasSubstituted forSaelemaekersat 79'minutes
- 9GiroudBooked at 39minsSubstituted forRebicat 68'minutes
- 17Rafael LeãoSubstituted forIbrahimovicat 90'minutes
Substitutes
- 1Tatarusanu
- 5Ballo-Touré
- 7Castillejo Azuaga
- 10Díaz
- 11Ibrahimovic
- 12Rebic
- 25Florenzi
- 27Maldini
- 33Krunic
- 46Gabbia
- 56Saelemaekers
- 83Mirante
- Referee:
- Daniele Orsato
- Attendance:
- 41,044
Match Stats
- Possession
- Home60%
- Away40%
- Shots
- Home9
- Away12
- Shots on Target
- Home2
- Away7
- Corners
- Home6
- Away7
- Fouls
- Home7
- Away15
Live Text
Post update
Full Time
Second Half ends, Napoli 0, AC Milan 1.
Post update
Corner, AC Milan. Conceded by Dries Mertens.
Post update
Corner, AC Milan. Conceded by David Ospina.
Post update
Attempt saved. Alexis Saelemaekers (AC Milan) right footed shot from the centre of the box is saved in the top centre of the goal. Assisted by Theo Hernández.
Booking
Alessandro Florenzi (AC Milan) is shown the yellow card for a bad foul.
Post update
Hirving Lozano (Napoli) wins a free kick in the defensive half.
Post update
Foul by Alessandro Florenzi (AC Milan).
Booking
Adam Ounas (Napoli) is shown the yellow card for a bad foul.
Post update
Foul by Adam Ounas (Napoli).
Post update
Ante Rebic (AC Milan) wins a free kick in the defensive half.
Substitution
Substitution, AC Milan. Zlatan Ibrahimovic replaces Rafael Leão.
Post update
Mário Rui (Napoli) wins a free kick in the defensive half.
Post update
Foul by Alexis Saelemaekers (AC Milan).
Post update
Attempt missed. Hirving Lozano (Napoli) right footed shot from outside the box is high and wide to the right. Assisted by Eljif Elmas.
Post update
Attempt saved. Theo Hernández (AC Milan) left footed shot from the left side of the box is saved in the top left corner. Assisted by Ante Rebic.
Post update
Attempt saved. Victor Osimhen (Napoli) right footed shot from a difficult angle on the right is saved in the bottom right corner. Assisted by Adam Ounas.
Booking
Mike Maignan (AC Milan) is shown the yellow card.
Post update
Attempt missed. Hirving Lozano (Napoli) right footed shot from outside the box is close, but misses to the left following a corner.
Post update
Corner, Napoli. Conceded by Franck Kessié.