Massimo Gobbi put the visitors in front in the 57th minute, but Giuseppe Mascara equalised for the home team 15 minutes from time.
Napoli then pushed for a winner, ending the game with five forwards on the field, but it was Parma who found the goal that was worth three points with Francesco Modesto netting in the 82nd minute.
The win lifts Parma up to sixth in the table, with Napoli remaining a point behind league leaders Udinese and Juventus, and suffering a knock to their morale ahead of Tuesday's Champions League clash against Bayern Munich.
After a tight first half in which neither side was able to get in a shot on target, Christian Maggio provided the first moment of danger in the second half when he turned and fired just wide of the far post in the 48th minute.
Parma took the lead in the 57th minute when Sergio Floccari backheeled the ball perfectly to Gobbi, who slid it into the far corner past Morgan De Sanctis.
Another fine backheeled assist at the other end led to Napoli's equaliser.
Ezequiel Lavezzi flicked Walter Gargano's throughball into the path of Mascara and the Napoli substitute coolly slid the ball under the body of the onrushing Antonio Mirante.
As Napoli were committing men forwards in search of a winner, they conceded a second on the counter attack.
Giovinco's low cross was met at the far post by Modesto, who slotted it into an empty net in the 82nd minute.
With Cristiano Lucarelli coming on as a fifth forward, Napoli coach Walter Mazzarri was clearly desperate to rescue something from the game.
Lucarelli ventured straight into the penalty area to cause confusion for a free-kick which was met by the head of Maggio, but Mirante made a great save.
The danger was not over, though, and Cavani fired the rebound against the outside of the post.