Cagliari fought back from an early Giovanni Simeone goal to crush Genoa 4-1 in Sardinia with Joao Pedro, Marco Borriello’s brace and Diego Farias.
Blerim Dzemaili’s strike gave Bologna a precious 1-0 victory away to Crotone, sending the Calabrians closer to relegation.
Nikola Kalinic and Milan Badelj gave Fiorentina their first home win over Juventus since 2013 and sent the leaders down to a shock 2-1 defeat.
Inter left it late again as Mauro Icardi, Ivan Perisic and Eder overturned a Sergio Pellissier opener to beat Chievo 3-1 on Roberto Gagliardini’s debut.
Lazio fought back from an Andrea Petagna opener to get the better of Atalanta 2-1 and break away in the race for European places.
Lorenzo Tonelli got his second goal in as many games as Napoli eventually pushed Pescara aside 3-1.
Empoli saw a penalty saved and Sampdoria’s Luis Muriel was denied by a goal-line clearance, as this game somehow ended 0-0.
Sassuolo were inspired by returning Domenico Berardi, who provided two assists as they fought back to crush Palermo 4-1.
Milan came back from 2-0 down to grab a thrilling 2-2 draw away to Torino after Gigio Donnarumma saved a penalty, but Alessio Romagnoli saw red.
Radja Nainggolan’s impressive half-volley gave Roma a slender 1-0 win away to Udinese, despite Edin Dzeko’s dismal penalty.