Internazionale missed the chance to reclaim the Italian title as they lost their first game of the season as second placed Roma claimed a 3-1 win at The Giuseppe Meazza.
Inter were forced to put their title celebrations on hold as they lost out to two late strikes from Roma.
Simone Perrotta fired Roma ahead just before half time, but Marco Materazzi levelled just minutes after the re-start when he blasted home from the penalty spot.
With just a minute left Roma took the lead through captain Francesco Totti and the win was sealed in injury time when Marco Cassetti found the back of the net.
Fourth placed Milan closed the gap on Lazio as they won 5-2 at bottom-of-the-table Ascoli.
Milan were ahead after just three minutes when Alberto Gilardino scored and he helped himself to a second on 26 minutes, which came just after Kaka's penalty.
Luigi Di Biagio pulled one back for Ascoli, but Kaka added a fourth on 35 minutes. Just before the break Stefano Guberti grabbed a second for the home side.
After the pulsating first half, only one more goal arrived as Clarence Seedorf grabbed a fifth 15 minutes from time.
Milan closed on Lazio as they could only claim a 0-0 draw with lowly Chievo Verona at the Stadio Olimpico.
The game in Rome was marred by three red cards with a player from each side - Paolo Sammarco and Valon Behrami - both dismissed just before the break. Luciano Zauri saw red for the home side on the stroke of full time.
Empoli remain on course for a Uefa Cup spot after claiming a comfortable 2-0 win over Atalanta.
Goals in each half from Luca Saudati (35) and Sergio Almiron (54) were enough for Empoli who could even afford a late penalty miss from Almiron against Atalanta - who had Gianpaolo Bellini dismissed.
Udinese climbed into the top-eight after a 1-0 victory over Sampdoria with top marksman Vincenzo Iaquinta (53) slotting home from the penalty spot.
Reggina boosted their survival hopes with a 3-1 win over second from bottom Messina.
Rolando Bianchi (13) fired Reggina ahead, only for Christian Rigano (27, pen) to level. The home side took control in the second half with Nicola Amoruso (54 & 72, pen) grabbing a brace.
Messina finished the game with ten-men as Enrico Morello was dismissed for violent conduct late on.
Parma are now just a point off safety after they claimed a 2-0 win over Fiorentina and Manchester United loanee Giuseppe Rossi was the hero with goals in either half.
Siena sealed a 1-0 win over Torino with the only goal coming just after the hour through Luca Antontini.
The mid-table battle at the Armandi Picchi saw Livorno claim a 2-1 win over Cagliari. Cristiano Lucarelli struck to put Livorno ahead after just five minutes - but David Suazo levelled for the Sardinian outfit on the hour.
However, the win was sealed when Dario Knezevic fired home on 66 minutes.
Click below for match summaries:
Ascoli 2-5 Milan
Empoli 2-0 Atalanta
Internazionale 1-3 Roma
Lazio 0-0 Chievo
Livorno 2-1 Cagliari
Parma 2-0 Fiorentina
Reggina 2-1 Messina
Siena 1-0 Torino
Udinese 1-0 Sampdoria