Inter Milan's Serie A title bid suffered a huge dent following a shock defeat at Lecce as AC Milan continued to chase Juventus, and Lazio moved up to fourth with victory at Chievo Verona.
Genoa held on to beat Napoli in a five-goal thriller, Roma were held at home by Bologna and Palermo overcame bottom club Novara.
Guillermo Giacomazzi scored the only goal of the game five minutes before half-time as lowly Lecce beat Inter Milan 1-0 at home to move up to third from bottom in the table.
AC Milan kept themselves just a point behind leaders Juventus with a comfortable 3-0 win over Cagliari at the San Siro.
Juve had on Saturday turned up the pressure with a 2-1 win over Udinese but Milan responded with a dominant display
Zlatan Ibrahimovic curled Milan into the lead with a superb 25-yard free-kick, Antonio Nocerino doubled their lead before half-time and Massimo Ambrosini added a classily taken third 15 minutes from time.
Germany striker Miroslav Klose scored a late brace to put the seal on Lazio's 3-0 victory at Chievo, with the capital club now eight points adrift of leaders Juventus.
Hernanes made the breakthrough for Lazio midway through the first half before Klose scored on 88 and 89 minutes.
Roma were unable to significantly close the gap to the UEFA Champions League places after drawing 1-1 at home with Bologna.
Evergreen striker Marco Di Vaio put Bologna in front on 56 minutes, but Miralem Pjanic equalised for the hosts six minutes later.
Napoli's hopes of qualifying for the Champions League again suffered a blow after slipping to a 3-2 defeat at Genoa despite a late rally.
Rodrigo Palacio gave Genoa the lead on 31 minutes and scored the third goal on 70 minutes after recent signing Alberto Gilardino had made it 2-0 on 36 minutes.
Substitute Edinson Cavani pulled a goal back with 10 minutes to go, and Ezequiel Lavezzi netted two minutes later, but Napoli were unable to find an equaliser.
Igor Budan scored a goal in each half as Palermo claimed a 2-0 home triumph over struggling Novara.
Marco Rossi's own goal on 76 minutes helped Atalanta to a 1-0 win at Cesena, while the visitors saw out the final stages with 10 men after German Denis was sent off for two bookable offences.
Siena remain in trouble after going down 2-1 at Fiorentina, who took a fourth minute lead through Stefan Jovetic.
Cesare Natali scored the second just past the hour mark before Emanuele Calaio replied with a consolation from the penalty spot for Siena a minute from time.