
Napoli's breathtaking start before the home crowd squeezed Juve in their midfield for long stretches of the first half but produced only a single serious threat for Gianluigi Buffon.
The international keeper was well positioned to block the ball on five minutes when Maurizio Domizzi nodded home off a corner kick.
Juve's game suffered in midfield but gradually gathered steam as Sergio Almiron and David Trezeguet saw their efforts saved by Gennaro Iezzo.
The game flared up right after the break as captain Alessandro Del Piero gave Juve a lead that Napoli reversed through a goal from Uruguayan Walter Gargano and two highly controversial spot kicks.
On 46 minutes, Del Piero flicked home from close range a feed from Raffaele Palladino despite the deflection of Iezzo, but only two minutes later Gargano split the guests' defence to fire home to the left of the diving Buffon.
A golden chance went begging on 53 minutes as Del Piero incredibly fired above the bar after Trezeguet nodded against the post, a mistake Juve were to pay dearly for in the next 15 minutes.
Domizzi was flawless as he took both spot kicks on 62 and 68 minutes after highly contested calls on fouls on Argentinian Ezequiel Lavezzi and Uruguayan Marcelo Zalayeta, a former Juve striker.
Lavezzi had an effort saved on 74 minutes, while Hasan Salihamidzic volleyed wide a corner kick from the right.
The defeat held Juve on 17 points from nine games, with a six- point gap from leaders Inter Milan, who play Sunday at Palermo. Napoli rose to fifth place on 14 points.
In earlier action, Torino beat Cagliari 2-0 to leave the lower reaches on an 11-point tally.
DPA