Misfiring Zlatan Ibrahimovic was unable to stop AC Milan stumbling to a first defeat in 13 games.
Inter Milan beat Lecce 1-0 at home on Sunday to move within two points of arch rivals AC Milan at the summit of Serie A.
Leonardo's side took advantage of AC Milan's slip-up on Saturday after a 1-0 upset at Palermo to close the gap to two points. Giampaolo Pazzini was the hero for the reigning European champions scoring the lone goal in the 52nd minute.
Udinese moved into the top three with a 2-0 victory over Catania at the Stadio Communale Friuli with goals from Gokhan Inler and Antonio Di Natale, the latter from the penalty spot.
Juventus moved into seventh when they beat Brescia 2-1 at the Stadio Olimpico.
Milos Krasic of Juventus and Eder of Brescia traded first-half goals before Alessandro Del Piero broke the deadlock in the 68th minute.
Parma boosted their survival chances in the Italian top flight with a 1-0 victory over Sampdoria, climbing over their opponents in the table with the victory.
Neither team had won a league affair in each of their past five clashes, and the hosts at the Stadio Comunale Luigi Ferraris should have equalized in the 74th minute, but Massimo Maccarone missed his penalty attempt.
Chievo broke a run of six league games without a win when they beat cellar dwellers Bari 2-1 away at the Stadio Comunale San Nicola.
Bologna and Genoa shared the points with 1-1 in their mid-table clash at the Stadio Renato Dall'Ara, with Marco Di Vaio's opener for the hosts cancelled out by a Dario Dainelli goal.
In the early kick off, Roma came from behind twice to earn a 2- 2 draw at the Stadio Artemi Franchi.
Adrian Mutu scored in the 22nd minute before a Francesco Totti penalty restored parity, but Alessandro Gamberini ensured the home side would lead at the break courtesy of a 35th minute goal.
It was Totti again in the 52nd minute who equalized for the visitors, but it was two dropped points for Edy Reja's side in their push for a top four spot, which they are now four points off.