Danish striker Andreas Cornelius came off the bench to give Atalanta a slender victory over Bologna.
Fiorentina doomed Benevento to a ninth defeat out of nine with Marco Benassi, Khouma Babacar and a Cyril Thereau penalty.
It was a dramatic Verona Derby, as Hellas took the lead and then self-destructed with Bruno Zuculini’s dismissal, but Sergio Pellissier won it 3-2 for Chievo.
Ciro Immobile bagged a first-half brace as Lazio swept Cagliari and new Coach Diego Lopez aside 3-0, moving within three points of leaders Napoli.
Leonardo Bonucci was sent off for lashing out an elbow, yet Milan down to 10 men for over an hour had the better chances in a 0-0 with Genoa.
Napoli saw their perfect record ended, but remain two points clear at the top of the table after Inter snatched a 0-0 draw at the San Paolo.
Sampdoria demolished Crotone 5-0 at Marassi with five different players on target, including Fabio Quagliarella and Karol Linetty.
Sassuolo pounced on a defensive error after 45 seconds and saw a late penalty saved in this chaotic victory away to SPAL.
A magical free kick from Aleksandar Kolarov gave Roma their record 11th consecutive away victory in Serie A, sinking toothless Torino.
Juventus went a goal down and had Mario Mandzukic sent off after 25 minutes, yet still won 6-2 at Udinese with a Sami Khedira hat-trick.