It appeared Napoli would have to settle for a draw at the Stadio Ennio Tardini after Paolo Cannavaro's own goal cancelled out Marek Hamsik's first-half opener.
However, Cavani had other ideas and the in-form Uruguayan raced clear five minutes from the end to decide a 2-1 victory and inflict a first home league defeat in 10 months on Parma.
With Juve's management going into meltdown after last night's 1-1 draw with Genoa, and Lazio losing ground due to a 1-0 home defeat to Chievo, Napoli are well-placed to launch an assault on top spot.
In the late game, Inter Milan were lucky to salvage a 2-2 draw at the San Siro after being run ragged by a Torino side inspired by Riccardo Meggiorini.
Cristian Chivu had given the Nerazzurri the lead from a free-kick but two goals from ex-Inter man Meggiorini soon turned the game on its head, only for Esteban Cambiasso to find the equaliser to spare the home team's blushes.
A solitary goal from Stephan El Shaarawy had already seen AC Milan climb above Fiorentina, who lost at Catania, following a 1-0 win over Atalanta.
The talented striker's clinical finish earned the visitors all three points in Bergamo, while Atalanta's bid for a first win in six games unravelled when Davide Brivio was sent off in the second half.
Inter's one-point haul means Milan could finally leapfrog their city rivals into fourth with victory over Udinese next week, should their neighbours lose at Siena.
Fiorentina found themselves down in sixth as Catania came from behind to win 2-1 and deny Vincenzo Montella any joy on his return to Sicily.
Bologna and Roma shared six goals in an entertaining 3-3 draw at the Renato Dall'Ara.
There were also six goals at the Marassi, with Mauro Icardi scoring four times as Sampdoria claimed an emphatic 6-0 victory over fellow strugglers Pescara.
Palermo, meanwhile, remain mired in a relegation battle after substitute Thiago Ribeiro salvaged a 1-1 draw for Cagliari.
Elsewhere, a solitary goal from Luis Muriel was enough for Udinese to seal a 1-0 win over basement boys Siena.