With AC Milan held to a 1-1 draw by Lazio last night, the Viola's victory moved them four points clear of the Rossoneri in the race to finish in the Champions League qualifying spots.

In a pulsating encounter, Fiorentina went ahead through Massimo Gobbi after 19 minutes only for Mohamed Sissoko to equalise 10 minutes later.

Mauro Camoranesi then put Juve 2-1 up before two Viola substitutes changed the course of the game in a dramatic final 15 minutes.

Ndiaye Papa Waigo equalised within nine minutes of his introduction before Osvaldo, a 62nd-minute replacement for Tomas Ujfalusi, netted in the final minute.

Argentina-born Osvaldo's joy turned sour, however, when he was then sent off after being shown a second yellow card for removing his shirt as part of his celebration.

Udinese strengthened their claims for a UEFA Cup place with a 2-0 win at home to Atalanta - Fabio Quagliarella and Antonio Di Natale grabbing the goals in the first half.

Sampdoria and Torino played out a 2-2 draw in Genoa.

Livorno and Siena were the big winners in the race to remain in Serie A.

The Leghorn club climbed out of the bottom three thanks to a 1-0 win over Catania, who replaced them in the drop zone - Alessandro Diamanti netting the only goal - while Siena's resurgence continued with a 2-0 victory at fellow strugglers Empoli.

Bottom side Cagliari also won, 2-1 against Genoa, to revive their hopes of staying up.

Reggina are second bottom following their goalless draw at home to Palermo.