Cesena are mathematically relegated, though throwing away a 2-0 lead to Sassuolo in the end proved irrelevant.
Chievo were in front, trailed and fought back for a spectacular 2-2 Verona Derby draw with Hellas.
Josip Ilicic’s brace gave Fiorentina a much-needed and hard-fought 3-2 victory over Empoli in the Derby di Toscana.
Genoa welcome Torino to Luigi Ferraris, with both sides chasing a Europa League spot.
Paul Pogba made his comeback after almost two months and scored, but Cagliari held Juventus to a 1-1 draw.
Hernanes bagged a brace against his former club, but Inter struggled to beat nine-man Lazio and Mauro Icardi missed a penalty.
Mattia Destro scored the winner against his parent club as Milan threw Roma back into uncertainty with a surprise 2-1 triumph.
Atalanta are practically safe after a 3-2 victory away to Palermo, despite going down to 10 men.
Antonio Mirante performed miracles in goal, but Napoli had to twice fight back for a 2-2 draw at already-relegated Parma.
Sampdoria kept themselves in European contention with a comfortable 4-1 victory away to Udinese.