Argentinian ace Gabriel Batistuta bagged a hat-trick as Fiorentina rallied from a goal down to beat 10-man Cagliari 4-2.
Fiorentina's win left them top of Serie A on 35 points, three ahead of Parma and six in front of Lazio before those two sides met in the night match.
Batistuta opened the scoring in the seventh minute. Uruguayan Fabian O'Neill equalised in the 32nd minute and although Cagliari had Cristiano Zanetti sent off in the 57th minute, they were in front again barely two minutes later through Tiziano De Patre.
Brazilian striker Edmundo drove home a low shot for 2-2 and then Batistuta notched two more.
Giuseppe Signori, meanwhile, engineered a surprise 2-0 victory for Bologna over Inter Milan.
Fighting broke out as rival fans clashed before Venezia's 1-1 home draw with struggling champions Juventus.
AC Milan beat Perugia 21-1 at San Siro. Milan's Argentinian reserve Andres Guglielminpietro headed home in the 36th minute and German Oliver Bierhoff nodding in another just three minutes later.
Perugia's Japanese playmaker Hidetoshi Nakata won and converted a 90th-minute penalty.
South African Phil Masinga set Bari on their way to a stirring 3-1 victory over David Platt's ailing Sampdoria.
Lazio moved into third place in Serie A with an excellent 3-1 victory away at second-place Parma.
Chile international Marcelo Salas opened the scoring with a 52nd minute penalty, after Hernan Crespo has equalised with his 11th of the season, Roberto Mancini hit what proved to be the winner. Christian Vieri's last-minute strike was the icing on the cake.