Lorenzo Insigne's first-half penalty proved decisive as Napoli put a dent in Juventus' hopes of a 10th consecutive Serie A title and eased the pressure on Gennaro Gattuso.
Gattuso's under fire side started the game in sixth and were missing a number of key players including Dries Mertens and Kalidou Koulibaly for a daunting match against Juventus, who had won nine of their last 11 games in all competitions.
But the hosts took a surprise lead into the break courtesy of Insigne's penalty, awarded after Giorgio Chiellini - making his 400th Serie A appearance and his 500th Juve start - caught Amir Rrahmani with a hand to the face. It was Insigne's 100th goal in Napoli colours and helped make amends for three previous penalty misses against the Old Lady.
Sterling may be denied Real Madrid move as he prepares for exit - Paper Round
Napoli - Juventus
Image credit: Getty Images
Juventus rallied in search of an equaliser after the restart but without reward - largely thanks to Napoli's stand-in goalkeeper Alex Meret, who replaced David Ospina after he suffered an injury during the warm-up.
The 23-year-old was excellent as he repelled threatening efforts from Federico Chisea and Alvaro Morata. When he was beaten by the latter, the offside flag came to Napoli's rescue, as Gattuso's men held on against Cristiano Ronaldo and co for what could be a huge victory in their season.
The result sees Napoli move into fourth, closing the gap on third-placed Juventus to just two points, with Andrea Pirlo's side remaining seven points adrift of leaders AC Milan, who later lost to Spezia.
TALKING POINT - A blow for Juve's title hopes
The Old Lady have been in formidable form since the turn of the year, losing just once to move back into contention in the title race. But they simply couldn't afford any more slip-ups, and with this defeat they have a lot of ground to make up on Inter and AC Milan.
This was far from a bad performance from Pirlo's side, but they just couldn't find a way through a dogged Napoli team clearly in the mood to fight for their manager. Reports suggested Gattuso would have been facing the axe had he tasted defeat. However, once they got their noses in front, Napoli were inspired in their bid to protect their lead with Meret proving insurmountable in between the sticks.
With 17 games still remaining there is a long way to go in race for the scudetto. Of course, there will be twists and turns along the way, but it feels like Juve have lost some momentum with this setback.
Andrea Pirlo - Napoli-Juventus - Serie A 2020/2021 - Getty Images
Image credit: Getty Images
MAN OF THE MATCH - Alex Meret (Napoli)
It was another blow for Gattuso to lose Ospina in the warm-up, but Meret obviously had a point to prove and boy did he come up with the goods.
Napoli: Meret 8, Di Lorenzo 7, Maksimovic 7, Rrahmani 7, Mario Rui 7, Bakayoko 7, Zielinski 7, Politano 6, Insigne 8, Lozano 8, Osimhen 6.. subs: Ruiz 5, Elmas 5, Lobotka N/A, Petagna N/A
Juventus: Szczesny 6, Cuadrado 7, De Ligt 7, Chiellini 5, Danilo 6, Chiesa 6, Bentancur 6, Rabiot 6, Bernardeschi 6, Morata 6, Ronaldo 6.. subs: Alex Sandro 6, Kulusevski 5, McKennie 5.
30' - Penalty to Napoli! Rrahmani is down inside the box and screaming in pain after challenging to meet Insigne's cross. He's caught by the arm of Chiellini and VAR is going to have a look at this. After consultation, the referee points to the spot and books Chiellini! Insigne is going to take the spot-kick, and what a golden opportunity for the hosts!
31' - GOAL! Napoli 1-0 Juventus (Lorenzo Insigne, pen): An excellent penalty from Insigne gives Napoli the lead! He slams it into the roof of the net, Szcznesy had no chance!
57' - Chance for Juve! The visitors work a really smart free-kick routine and Chiesa lets fly with a venomous shot from the edge of the penalty area. It's straight at Meret, but he sees it late and does brilliantly to palm it away to safety.
63' - Goal disallowed! Morata takes an excellent touch and fires in what he thinks is the equaliser, but it's ruled offside, Chiellini - who registered the assist - was offside.
87' - Meret to the rescue! Napoli's stand-in goalkeeper makes a huge save with his legs to deny Morata from six yards!
- Napoli have won two matches in a row against Juventus in Serie A for the first time since 2011 (three in that case) - under Walter Mazzarri.
- Lorenzo Insigne is the seventh player to score 100 goals in all competitions with Napoli, but among these players he is the only player born in Italy.
Bumbling Bianconeri steal Saint Petersburg showdown late on
Juventus down Mourinho's Roma amid VAR drama