Alexis Sanchez and Antonio Di Natale tore Palermo apart to lift Udinese up to fifth in Serie A thanks to a 7-0 rout in Sicily.
Sanchez netted four on his return from a one-match ban and Di Natale grabbed a hat-trick as the Udinese attack ripped the Palermo defence to shreds and pushed their coach Delio Rossi closer to the door.
Sanchez completed his hat-trick within 42 minutes with Di Natale also on target twice in a first half in which Armin Bacinovic was sent off.
Palermo restricted Udinese to only two goals in the second half, but they were reduced to nine men when Matteo Darmian was dismissed for giving away a penalty, which was converted by Di Natale to complete the scoring in the 61st minute.
Inter Milan kept up their chase of AC Milan thanks to a 2-0 win at Sampdoria.
Goals from Wesley Sneijder and Samuel Eto'o took Leonardo's side above Napoli into second place in the standings, two points behind their city rivals.
Samp, meanwhile, are left in 14th place, just six points clear of the relegation zone after their second straight home defeat.
Parma striker Carvalho Amauri scored twice in the second half as Roma threw away another lead to draw 2-2 at the Stadio Olimpico.
Francesco Totti converted from the penalty spot in the 19th minute and his Roma team-mate Juan made it 2-0 before half-time. Amauri then reduced the deficit in the 74th minute before adding his second five minutes later.
Parma had Massimo Paci sent off for a second bookable offence with 10 minutes to go but held on for a deserved point.
The result has left Roma in sixth place, five points behind city rivals Lazio, who hold the last Champions League qualifying spot. Parma, meanwhile, are 16th, three points clear of the drop zone.
Lazio's five-match unbeaten run came to an end as Andre Dias' own goal condemned them to a 1-0 defeat at Cagliari.
Defender Dias put through his own net in the 40th minute and that proved the difference between the sides at the Stadio Sant' Elia.
The visitors had a hatful of chances to equalise but found Cagliari goalkeeper in Michael Agazzi in inspired form.
Lazio stayed fourth in the Serie A standings despite the loss, but just one point clear of Udinese. Cagliari, meanwhile, have taken a giant step towards retaining their top-flight status. their, climbing to ninth on 38 points.
Substitute Abdelkader Ghezzal fired a late equaliser for rock-bottom Bari to deny Fiorentina a second away win of the season as the two teams drew 1-1.
Alberto Gilardino's 21st-minute strike had looked to have put La Viola on course for three points at the Stadio San Nicola but Ghezzal - a 73rd-minute replacement for Jaime Romero - levelled three minutes from time.
The result left Bari 12 points adrift of fourth-bottom Lecce, while Fiorentina stayed 12th.
Catania came from behind to beat Genoa 2-1 in a pulsating game at the Stadio Massimino.
Antonio Floro Flores put Genoa in front in the 19th minute, but goals from Maxi Lopez and Gonzalo Bergessio early in the second half turned the game on its head.
Referee Antonio Giannoccaro then showed red cards to Domenico Criscito and Blazej Augustyn, failed to give one clear penalty and awarded another controversial one, which was missed by Genoa midfielder Miguel Veloso. He also brandished his red card twice to the Genoa bench as tempers flared in a dramatic second half.
Giannoccaro was required to make his first big decision in the 17th minute when Floro Flores went down under the challenge of Blazej Augustyn inside the penalty area, but nothing was given.
Brescia threw away a two-goal lead as they had to settle for a 2-2 draw and a share of the points in their Serie A tussle with fellow-strugglers Lecce.
Two goals in as many minutes from Andrea Caracciolo and Davide Zoboli had given the home side the edge, but Lecce hit back through Daniele Corvia and Gianni Munari.
Luis Jimenez's late penalty earned Cesena a priceless 1-0 victory over Chievo in their fight against relegation.
The home side dominated the game but could not find a way past visiting goalkeeper Stefano Sorrentino and looked as though they would have to settle for a point. Davide Madelli's foul on Erjon Bogdani, though, allowed Jimenez to seal all three.