Juventus beat Carpi 3-2 to record their seventh consecutive Serie A win and move to within three points of leaders Inter, who lost 2-1 at home to Lazio.
Carpi somewhat surprisingly grabbed the lead early on when Marco Borriello found the net, but Mario Mandzukic’s brace had Juve ahead before half-time.
Paul Pogba doubled Juventus’ lead after the break, with Leonardo Bonucci’s late own goal proving immaterial.
In a dramatic finale at San Siro, Antonio Candreva’s penalty saw out-of-form Lazio surprise Inter, with both sides finishing the game with 10 men.
Mauro Icardi cancelled out Candreva’s opener, before Felipe Melo’s needless foul on Sergej Milinkovic-Savic allowed Candreva to win it three minutes from time, converting the rebound after seeing his penalty saved by Samir Handanovic.
Melo was then sent off for a high boot on Lucas Biglia, before Milinkovic-Savic received a second booking for kicking the ball away.
Fiorentina and Napoli both closed to within one point of Inter after respective wins over Chievo and Atalanta.
Nikola Kalinic and Josip Ilicic were on target as Fiorentina prevailed 2-0, while Napoli triumphed 3-1 in an eventful game in Bergamo.
Marek Hamsik’s opener was swiftly cancelled out by Alejandro Gomez before Gonzalo Higuain’s brace either side of Jorginho’s red card for Napoli.
Atalanta’s Gabriel Paletta was sent off in the final minute but it had no influence on the final result as Hamsik failed to convert the resulting penalty.
Roma ended their seven-match winless streak as they recorded a 2-0 win over Genoa at the Stadio Olimpico thanks to goals from Alessandro Florenzi and Sadiq Umar, although Edin Dzeko was sent off for dissent.
Four second-half goals saw AC Milan come from behind to record a 4-2 away win over Frosinone, while Sampdoria’s poor run of form came to an end with a 2-0 home win over Palermo.
Elsewhere, Torino fell to a 1-0 defeat at home against Udinese and Verona still await their first win of the season after a 1-1 draw against Sassuolo.