Francesco Totti became the second-highest Serie A goalscorer of all time as Roma climbed into fifth place with a 2-0 victory over Parma.
His penalty against Genoa two weeks ago brought the 36-year-old level with Gunnar Nordahl on 225 goals and, after missing the mark at Udinese last week, Totti followed up Erik Lamela's opener to reach a long-awaited personal milestone.
And with city rivals Lazio losing at Torino after Inter Milan's game at Sampdoria was postponed due to bad weather, the Giallorossi used the win to close within four points of Fiorentina as an unlikely push for Champions League qualification gathers pace.
Lazio continue to sink down the league and Sunday's 1-0 reverse against Torino at a snowy Stadio Olimpico, decided by a Jonathas goal after Michael Ciani was sent off, sees Vladimir Petkovic's men reach seventh place after a sixth defeat in eight games.
Edinson Cavani scored twice as Napoli edged a nervy 3-2 victory over Atalanta to hold on to second place, but AC Milan remain hot on their heels.
Napoli had failed to win in five games and risked surrendering second spot to Milan, who beat Palermo 2-0, but Cavani ended his own six-week goal drought with an early penalty.
Paolo Cannavaro's own-goal did not help Napoli's cause, though, and Cavani was relieved to have doubled up just before German Denis levelled once again.
Goran Pandev then pounced in the final 10 minutes to keep the southerners within nine points of leaders Juventus.
At the San Siro a brace from Mario Balotelli saw the Rossoneri shrug off a miserable week with victory.
Milan did not appear to be too disheartened by their midweek Champions League thrashing at Barcelona as Balotelli fired his sixth goal for his new club from the penalty spot.
Balotelli's close-range second then guaranteed an 11th league game without defeat for Massimiliano Allegri's men, who remain just two points behind Napoli.
Defeat for Palermo leaves the Sicilians joint last alongside Pescara, who lost 2-0 at home to Chievo.
Two late goals edged Pescara closer to the drop and boosted Chievo's hopes of staying in the top flight, Adrian Stoian scoring the first three minutes from time and Cyril Thereau wrapping up the win in stoppage time.
Fiorentina needed a Mattia Cassani own-goal to fend off a double fightback from 10-man Genoa and claim a 3-2 victory at the Stadio Artemio Franchi.
Alberto Aquilani fired La Viola ahead midway through the second half and Juan Cuadrado restored the lead shortly after Daniele Portanova levelled on the hour.
There was a brief period of deadlock following Luca Antonelli's unopposed equaliser but Andrea Bertolacci's dismissal gave Fiorentina time and space to force Cassani into a critical error with time running out.
Elsewhere, a second-half onslaught was not enough for Siena to take all three points against Cagliari, who came closest to breaking the deadlock in a goalless draw in Tuscany.
On Saturday, Juventus had stretched their lead at the top thanks to a 2-0 win over Bologna at the Stadio Dall'Ara.
Second-half goals from Mirko Vucinic and Claudio Marchisio earned the Bianconeri all three points.
Bologna had their moments in the first half but were unable to build on a win over Inter Milan from last weekend.
Catania won the battle of two clubs looking to jump on the train for a place in Europe next season, downing Udinese 3-1 at the Stadio Massimino.
All four goals arrived in the second half with Alejandro Gomez on target twice and Francesco Lodi scoring for the home side, and Luis Muriel netting a consolation for the visitors.
The win lifts the Rosaneri to within two points of the top five heading into the last nine games of the season, giving the Sicilians a realistic hope of taking a place in the Europa League next season.