Udinese tore defending Serie A champions Inter Milan apart with an impressive 3-1 win which puts them into the hunt for a place in Europe next season.
Dejan Stankovic put Inter ahead in the 16th minute, but the rest of the game belonged to the home side. Cristian Zapata levelled five minutes later before Antonio Di Natale put them in front in the 25th minute.
Maurizio Domizzi sealed the win in the 69th minute to lift Udinese to within a point of Juventus and Palermo and just two behind fifth-placed Inter, becoming the first side to take any points off Leonardo's side in 2011.
Serie A leaders AC Milan saw off struggling Cesena 2-0 to maintain their four-point advantage.
An own goal from Maximiliano Pellegrino just before the interval helped the Rossoneri to all three points with Zlatan Ibrahimovic sealing the win deep in stoppage time.
Cesena tried to make a game of it, but succumbed to their second defeat in Milan in the space of four days to remain inside the bottom three.
Juventus continued their push for Champions League football with a 0-0 draw at mid-table Sampdoria.
There were chances aplenty at the Stadio Luigi Ferraris, but luck was in short supply for both sides as they settled for a point each.
Napoli kept the pressure on the Serie A leaders thanks to a 2-0 victory over ten-man Bari.
Ezequiel Lavezzi struck in the 38th minute before Edinson Cavani put the game beyond Bari's reach with three minutes to go. Bari suffered a blow in the 67th minute after Alessandro Parisi was sent off following two bookable offences.
Marco Di Vaio scored twice for Bologna as the Rossoblu came from behind to beat Lazio 3-1.
Sergio Floccari put the Romans in front in the fifth minute only for Gaston Ramirez to bring Bologna level in the 36th minute. Di Vaio gave the hosts the lead three minutes later before sealing the win with his second at the death.
Lazio, who ended the game with ten men after defender Andre Dias was sent off for a second bookable offence, drop to fourth in the standings.
Fiorentina had to battle for a 1-1 draw after a superb first-half display by relegation-threatened Lecce left them under the cosh.
David Di Michele put the hosts ahead shortly before the half-hour mark and missed the chance to double the lead from the penalty spot before the interval, but the Viola had the better of the second period and Alberto Gilardino's header ensured a share of the spoils.
Chievo and Genoa remain locked together on the same number of points after sharing the spoils in a 0-0 draw at the Stadio Marc'Antonio Bertegodi.
In a tame encounter, the hosts had to play the final 22 minutes with only ten men after losing Bostjan Cesar to a red card, but the visitors were unable to take advantage as they failed to find the back of the net for the sixth time in ten games since Davide Ballardini took over from Gianpiero Gasperini.