It was a game of two halves and a six-goal thriller, as Atalanta fought back to hold Palermo 3-3 with some sensational strikes.
Juventus will end 2014 top of the Serie A table after a comfortable 3-1 victory away to Zdenek Zeman’s struggling Cagliari.
Empoli put a spanner in the works for local rivals Fiorentina with a thrilling 1-1 draw in the Tuscan Derby.
Inter fought back from 2-0 down to hold Lazio 2-2 with a Mateo Kovacic stunner and Rodrigo Palacio’s first of the season.
Napoli got back on track by adding to Parma’s woes with a 2-0 result thanks to Duvan Zapata and Dries Mertens.
Pablo Armero was sent off and Roma denied a penalty, but 10-man Milan clung on for a 0-0 draw at the Olimpico.
Manolo Gabbiadini snatched a 2-2 draw with Udinese in this topsy-turvy Sampdoria match.
Cesena snatched a last-gasp 1-1 draw at local rivals Sassuolo after an extremely controversial Simone Zaza penalty.
Captain Kamil Glik scored twice to turn this game around and give Torino a much-needed victory over Genoa.
Alberto Paloschi’s late goal gave Chievo bragging rights in the Derby di Verona, beating ‘home’ team Hellas.