Gonzalo Higuain struck twice for Napoli’s comfortable 4-1 win at Cesena, keeping them level with Lazio in third place.
Chievo and Torino showed all of their problems in a dire 0-0 draw.
Both teams had a man sent off and the draw was overall the right result, as Verona held Empoli.
Genoa fought back from 2-0 down to hold Atalanta in an enthralling encounter at Marassi.
Mauro Icardi wiped out a Carlos Tevez goal in the high-intensity Derby d’Italia as 10-man Inter held Juventus 1-1.
Felipe Anderson scored one and set up two others as Lazio thrashed Sampdoria 3-0 to go clear in third place.
Alessio Cerci made his debut, but Milan suffered a shock home defeat to Sassuolo despite taking the lead, their first New Year loss in 17 years.
Palermo gave Gianfranco Zola a nightmare Cagliari debut, winning 5-0 with captain Daniele Conti sent off.
Fiorentina suffered a surprise defeat to bottom of the table Parma, missing a penalty and ending with nine men.
Roma earned a hugely controversial win away to Udinese, as Davide Astori’s goal might not have crossed the line and there were penalty appeals.