Paulo Dybala scored a hat trick as Juventus fought back from two goals down to beat Genoa 4-2.
Genoa had gone ahead at the Stadio Luigi Ferraris in the opening minute when Miralem Pjanic scored an own goal.
And they quickly doubled their advantage when Andrej Galabinov scored from the spot in the seventh minute after Daniele Rugani had given away a penalty.
The comeback began in the 14th minute when Pjanic set up Dybala to score from close range.
The Argentina international pulled the Italian champions back to level terms from the penalty spot in the third minute of added time after Darko Lazovic handled in the area.
Juan Cuadrado put Juventus ahead on 62 minutes with an effort from inside the box.
And Dybala wrapped up the victory in the second minute of added time after being set up by Gonzalo Higuain.
Mauro Icardi scored twice as Inter Milan came from behind to win 3-1 at Roma.
Edin Dzeko gave Roma a half-time lead at the Stadio Olimpico and the hosts had hit the woodwork three times before Inter equalised.
Antonio Candreva fed Icardi, who turned and drilled in from inside the box to level the score after 67 minutes. And Inter ahead 10 minutes later through Icardi’s close-range finish from Ivan Perisic’s pass.
The visitors added a third with Perisic the provider again as Matias Vecino tucked in from close range.
Antonio Mirante scored an own goal in the ninth minute of added time as Benevento rescued an unlikely 1-1 draw against Bologna.
Bologna had taken the lead through Godfred Donsah in the 55th minute but Mirante’s 99th minute strike ensured honours ended even.