Match ends, Napoli 2, Juventus 0.
Leaders Juventus lost for only the second time in Serie A this season as they fell to defeat at Napoli.
Jose Callejon opened the scoring for the third-placed hosts, finishing from close range in the first half.
Juventus, without Carlos Tevez, rarely threatened and Stephan Lichtsteiner's low effort was the best they offered.
And Napoli wrapped up the victory late on when substitute Dries Mertens latched onto Goran Pandev's ball and struck from the edge of the area.
Despite the defeat, which ended a 22-match unbeaten run in the league, Juventus remain firmly on course for a third successive title.
They have 81 points, 11 more than second-placed Roma, who have a game in hand, with Napoli a further six points off the pace.
Juve came into the game on the back of an unbeaten league run that stretched back to October.
But, with top scorer Tevez suspended, they looked uncharacteristically off colour throughout and only several fine saves by Gianluigi Buffon prevented Napoli from winning by a bigger margin.
The 36-year-old Italy goalkeeper was called into action early on, when he reacted quickly to parry Callejon's fierce drive, before he somehow got a hand to Marek Hamsik's flick.
Juventus' first chance did not arrive until midway through the half, and even then it was not an effort to trouble the home side as Lichtsteiner's low shot lacked conviction and Pepe Reina gathered comfortably.
Napoli continued to attack, and Buffon again had to be at his best to deny Callejon's low drive.
But the veteran was finally beaten eight minutes before the break as Napoli took advantage of defender Giorgio Chiellini being caught out of position, with Callejon racing into the area to turn Lorenzo Insigne's ball in from close range.
The goal did not elicit a positive response from Juventus, who continued to labour in the second half, and another good save from Buffon prevented Napoli from doubling their advantage as he kept out Faouzi Ghoulam's free-kick.
The hosts' second goal came nine minutes from time, when substitute Pandev's curling long ball found Mertens, who shrugged off the attention of Claudio Marchisio to fire home a low shot from just outside the box.
- 4Adriano BussBooked at 63mins
- 7CallejónSubstituted forDzemailiat 89'minutes
- 88InlerBooked at 35mins
- 9HiguaínSubstituted forPandevat 74'minutes
- 17HamsikSubstituted forMertensat 79'minutes
- 80Doblas Santana
- 26LichtsteinerBooked at 54mins
- 22AsamoahSubstituted forIslaat 53'minutes
- 19BonucciBooked at 58mins
- 23VidalBooked at 90mins
- 6PogbaSubstituted forMarchisioat 61'minutes
- 18OsvaldoSubstituted forVucinicat 70'minutes
- Daniele Orsato
- Shots on Target
Second Half ends, Napoli 2, Juventus 0.
Lorenzo Insigne (Napoli) wins a free kick on the left wing.
Foul by Arturo Vidal (Juventus).
Arturo Vidal (Juventus) is shown the yellow card.
Arturo Vidal (Juventus) has gone down, but that's a dive.
Corner, Juventus. Conceded by Raúl Albiol.
Attempt blocked. Mauricio Isla (Juventus) right footed shot from the right side of the box is blocked.
Attempt missed. Dries Mertens (Napoli) right footed shot from outside the box is too high. Assisted by Lorenzo Insigne.
Substitution, Napoli. Blerim Dzemaili replaces José Callejón.
Offside, Juventus. Andrea Pirlo tries a through ball, but Mirko Vucinic is caught offside.
Jorginho (Napoli) wins a free kick in the defensive half.
Foul by Andrea Pirlo (Juventus).
Delay over. They are ready to continue.
Delay in match Dries Mertens (Napoli) because of an injury.
Offside, Juventus. Andrea Pirlo tries a through ball, but Mauricio Isla is caught offside.
Goal! Napoli 2, Juventus 0. Dries Mertens (Napoli) right footed shot from the right side of the box to the bottom left corner. Assisted by Goran Pandev following a fast break.
Corner, Juventus. Conceded by Federico Fernández.
Substitution, Napoli. Dries Mertens replaces Marek Hamsik.
Attempt saved. Marek Hamsik (Napoli) right footed shot from outside the box is saved in the bottom right corner. Assisted by Goran Pandev with a through ball.