Inter move back into second
Goals from Wesley Sneijder and Samuel Eto'o helped Inter Milan come from behind to beat Lazio 2-1 at the San Siro despite having goalkeeper Julio Cesar sent off in the first half.
Inter went into the game in third but moved up to second and increased their lead over Lazio, a place behind them in the Serie A table before the fixture, to six points to strengthen their Champions League claims.
Mauro Zarate had given the visitors the lead in the first half, but Sneijder and Eto'o got the goals as Lazio also had Stefano Mauri sent off.
However, any hopes of catching arch-rivals AC Milan look to be over as Robinho's goal gave the Rossoneri a 1-0 victory at Brescia.
The Brazilian struck in the 82nd minute - just after the home side had hit the woodwork and started to put Milan under pressure - to clinch victory and take his side eight points clear of Inter with four games of the season remaining. Brescia end the weekend five points adrift of safety.
Napoli slipped to third as their title hopes took another huge hit with a 2-1 defeat at Palermo.
Despite going ahead after just two minutes with an Edison Cavani penalty, the visitors conceded goals to Federico Balzaretti and Cesare Bovo as they slumped to a second successive loss.
Roma kept alive their faint hopes of a top-four finish in Serie A with a narrow 1-0 home triumph over Chievo.
Simone Perrotta's first-half goal at the Stadio Olimpico was the difference between the two sides, with Roma twice denied by the woodwork in the second half.
Roma, with striker Mirko Vucinic still struggling to find the back of the net, wasted a hatful of chances to extend their lead and were made to sweat before clinching three points.
Roma's chances of finishing fourth were given a boost later in the day when Parma striker Carvalho Amauri scored in each half to help his side beat ten-man Udinese 2-0 at the Friuli Stadium.
Udinese had Gokhan Inler sent off in the 22nd minute when he fouled Sebastian Giovinco and then made contact with the referee. Amauri got his first in the 13th minute and sealed victory with another deep in stoppage time.
Seventh-placed Juventus conceded a 95th-minute as they let slip a two-goal lead to draw 2-2 with struggling Catania.
Alessandro Del Piero's first-half double - the opener from the penalty spot - seemed to have Juve cruising, but Alejandro Gomez got one back in the 81st minute before Francesco Lodi's stunning late free-kick. The result lifts Catania one point clear of the drop zone.
Alessio Cerci's double earned a welcome return to winning ways for Fiorentina boss Sinisa Mihajlovic as they won 2-1 away to Cagliari.
Cerci's strikes sandwiched Andrea Cossu's 46th-minute equaliser as all the goals game in a five-minute period around half-time to hand the Viola a first win in six games.
Genoa secured a 4-2 win over relegation-threatened Lecce which did their city rivals Sampdoria a favour in their relegation battle.
Davide Di Michele put the visitors in front in the third minute, but Genoa hit back with Antonio Floro Flores' goal seven minutes later. Di Michele restored Lecce's advantage after half an hour, but Rodrigo Palacio brought the home team level again just before the break.
Further goals from Palacio and Floro Flores in the second half sealed Genoa's second straight win at the Stadio Luigi Ferraris to leave Lecce in danger at the bottom
The result allowed Sampdoria to move level on points with the Apulians in the battle for safety as they beat Bari 1-0.
Cesena gave their relegation worries another boost by condemning Bologna to their fourth straight defeat as they won 2-0 at the Renato Dall'Ara Stadium.
After two draws and a win in their past three outings, goals from Emanuele Giaccherni and Dominique Malonga at either end of the second half secured the visitors three more crucial points in their battle against the drop.