Bottom of the table SPAL caused one of the upsets of the season, fighting back from a Josip Ilicic back-heel flick to beat Atalanta 2-1 in Bergamo.
Fabio Borini came off the bench to snatch a late Hellas Verona equaliser away to 10-man Bologna, in a game dominated by poor refereeing.
Mario Balotelli lasted seven minutes before his red card for insulting the referee, as Brescia held Cagliari to an ill-tempered 2-2 draw.
Roma made the most of Genoa errors to take the 3-1 result at Marassi, even with several key players missing, and thanked a sensational Pau Lopez save.
Cristiano Ronaldo scored his 11th goals in seven Serie A games, as Juventus just about pushed past Parma 2-1 and broke four points clear at the top.
Ciro Immobile scored a hat-trick, provided an assist and inspired Lazio to a record 11th Serie A win in a row, crushing Sampdoria 5-1.
Inter were held to their second consecutive 1-1 draw, this time with Marco Mancosu cancelling out an Alessandro Bastoni opener in Lecce.
Ante Rebic completed his brace with the last kick of the game, as Milan snatched a dramatic, twisting and turning 3-2 victory over Udinese.
Federico Chiesa and Dusan Vlahovic scored spectacular goals to confirm Fiorentina are back in business, but Napoli suffered a third consecutive Serie A defeat.
Jeremie Boga was the star man as Sassuolo fought back from a goal down to beat Torino 2-1 with his stunning solo effort and an assist for Domenico Berardi.