Atalanta notched up their ninth consecutive Serie A victory, moving to within two points of second-placed Lazio, as Rafael Toloi and supersub Luis Muriel finally broke Sampdoria down.
Sassuolo continue their march up the table to eighth place by winning the Emilia-Romagna Derby away to Bologna.
Fiorentina put in another disappointing performance, as Bartlomiej Dragowski had to make several saves in this goalless draw with Cagliari.
Chucky Lozano came off the bench and immediately got the winner for Napoli, after Dries Mertens and Edoardo Goldaniga goals, as Genoa plunge into the bottom three.
Lazio suffered a shock 2-1 defeat at Lecce in a chaotic game, with a missed penalty, repeated VAR calls and Patric sent off for biting an opponent.
Milan completed an extraordinary comeback from 2-0 down to go 3-2 up in just six minutes, eventually beating Juventus 4-2 to keep the Scudetto race alive.
Roma fought back from an early penalty to beat Parma and end their negative streak with Henrikh Mkhitaryan and Jordan Veretout rockets, but the Ducali felt they deserved another spot-kick.
Rodrigo De Paul’s early goal inspired Udinese to a dominating 3-0 win over struggling SPAL, as goals by Stefano Okaka and Kevin Lasagna sealed the triumph.
Brescia threatened another upset by taking the lead, but Torino turned it around through a deflected Simone Zaza effort, Andrea Belotti and Simone Zaza.
It was a topsy-turvy encounter at the Bentegodi, as Hellas Verona took the early lead, Antonio Candreva and a deflection turned it around, but Miguel Veloso had the last word to hold Inter 2-2.