The relegation battle and Emilia-Romagna derby at least saw Sassuolo end their losing streak on Eusebio Di Francesco’s comeback.
Gonzalo Bergessio scored and Catania hit the woodwork twice, but were unable to beat 10-man Cagliari in a 1-1 draw.
It was a dramatic game in Verona, as two Chievo penalties snatched a last-gasp victory over Genoa.
Inter moved within a point of fourth place with this slender victory over Torino, decided by Rodrigo Palacio’s odd header.
Kwadwo Asamoah’s fantastic individual goal proved enough for Juventus to beat Fiorentina, though Ryder Matos hit the bar.
Maxi Moralez gave Atalanta a shock win away to 10-man Lazio, who felt the tension from another fan protest.
Roma had several chances to score, but it was a Jose Callejon header that gave Napoli a 1-0 victory, closing the gap to three points.
Jonathan Biabiany and Ezequiel Schelotto gave Parma victory in this head-to-head with Verona for sixth place.
Sampdoria had a disastrous first half, but fought back from 2-0 down to beat Livorno 4-2 in this thriller.
Antonio Di Natale finished off a brilliant team move to give Udinese a 1-0 victory over Clarence Seedorf’s Milan.