Elsewhere in Italy, Udinese failed to make up ground on their rivals in the European spots, while Genoa and Siena could not be separated in the battle at the bottom
Udinese were left to rue a succession of missed chances - including a penalty - as they extended their winless run to three matches on Saturday courtesy a goalless draw with Bologna.
Allan hit the post early in the first half before Andrea Lazzari was also guilty of crashing a fine curling effort against the stanchion.
And when they were gifted the opportunity to take the lead from the spot following Saphir Taider's shirt-tug on Roberto Pereyra, it was not to be as Antonio Di Natale's attempt was weak.
LAZIO 2-1 CATANIA
Lazio fired two goals in the space of two minutes at the Olimpico on Saturday to complete a notable 2-1 comeback success over Catania.
The Sicilians opened the scoring on 49 minutes when Stefan Radu's botched clearance rebounded off Mariano Izco's shin and rolled over Federico Marchetti's line.
But with 15 minutes to go, Miroslav Klose marked his return from injury with a substitute's appearance, and his introduction coincided with Nicola Legrottaglie turning into his own net soon after.
Just 60 seconds later, Giuseppe Bellusci pegged back Ederson in the box, allowing Antonio Candreva to send Mariano Andujar the wrong way and end his side's run of three straight league defeats.
CAGLIARI 2-1 FIORENTINA
Cagliari ended Fiorentina's three-match winning sequence with a 2-1 closed-doors victory at the much-maligned Is Arenas.
Viola boss Vincenzo Montella said prior to the fixture that he would have preferred fans to be in attendance despite his side's apparent advantage, but his woes were soon to be realised.
Inside 11 minutes, Mauricio Pinilla rifled in a half-volley from close range after he latched onto Daniele Conti's through ball - borne out of a misjudged clearance.
And when Marco Sau was felled by Juan Cuadrado in the box with 10 minutes of the first half still to play, Pinilla hit his second of the afternoon from the penalty spot.
A group of Cagliari fans took up residency outside the stadium to spur their team on, and so it worked until Cuadrado drilled home a finish on the turn, but the visitors fall six points behind third-placed AC Milan.
PARMA 3-0 PESCARA
Pescara fell six points adrift and further away from the chasing pack in the Serie A table after they crumbled to a 3-0 defeat by the hands of a resurgent Parma.
Yohan Benalouane put the hosts in driving seat early on with a free header before Gabriel Paletta netted a mirror image of his defensive team-mate's goal earlier in the match seven minutes into the second half.
They then saved the best as Amauri fended off the advances of his marker before chesting down Marco Marchionni's pass and planting a terrific overhead kick past the crest-fallen Ivan Pelizzoli.
PALERMO 2-0 ROMA
Palermo stopped the rot after 16 matches and emerged off the bottom of the league standings on Sunday thanks to shock 2-0 win against Roma.
On 21 minutes, Fabrizio Miccoli - the architect behind the success - sent a cross-field pass into the direction of Josip Ilicic who brought the ball down before unleashing a left-footed strike past Maarten Stekelenburg.
It was then a case of role-reversal as Ilicic's cross found Miccoli in the box, and the captain made no mistake about his side-footed finish to ruin Francesco Totti's 20th anniversary in football and the Giallorossi's European aspirations.
Roma fall to seventh in Serie A and an alarming 10 points behind Milan in the race for Champions League qualification.
ATALANTA 0-0 SAMPDORIA
Atalanta and Sampdoria had their moments, but ultimately a 0-0 draw was to be the fateful outcome in Bergamo on Sunday.
Usual suspects Giacomo Bonaventura and German Denis came closest for the hosts in the first half, but Blucherchiati goalkeeper Sergio Romero was not to be beaten.
Sampdoria began to pile on the pressure after the break, and Mauro Icardi could count himself unluckiest to have scraped the post with his diving header.
But with both sides' safety looking seemingly certain for another season, a comfortable mid-table finish will be high on their respective lists of priorities as the final weeks of the season begin to play out.
GENOA 2-2 SIENA
Genoa remain on the fringes of survival in Serie A, but by the smallest of fractions, as they rescued a vital 2-2 draw with Siena at the Marassi - in stark contrast to last season's supporter protest.
Marco Borriello gave the Ligurians the lead on six minutes as his low free kick found the back of the net - albeit via a heavy deflection off Massimo Paci, but Innocent Emeghara's rich goalscoring form continued on the cusp of half-time from a corner.
The Tuscans then seemed to have taken the initiative when Alessandro Rosina buried a penalty following Cesare Bovo's man-handling of Alessio Sestu on 52 minutes.
However, the spoils were to be shared between Genoa and Siena - both of whom stay separated by just a single point - as Ciro Immobile's cross was turned in by Bosko Jankovic.
TORINO 3-5 NAPOLI
Napoli kept the gap at the top with Juventus to nine points after they saw out an enthralling eight-goal blockbuster at the Olimpico against Torino.
Blerim Dzemaili registered the first of his spectacular hat-trick on the night within 10 minutes, but Paulo Barreto equalised in a prelude to a goal-packed second period.
Dzemaili's second right after the break ensured Marek Hamsik was not left to rue his woeful penalty effort in the first 45, but Jonathas and Riccardo Meggiorini struck in quick succession to put the Granata in the lead for the first time.
That temporary setback did not hinder that man Dzemaili from popping up with an emphatic third and the Partenopei's equaliser, crashing a magnificent long-range effort beyond the reach of Jean-Francois Gillet to make it 3-3.
The stage was set for Serie A top scorer Edinson Cavani to break the deadlock and ensure all the spoils were to go the Southerners' way, striking twice in the space of five minutes to break Torino fans' hearts.