Bologna completed an extraordinary comeback from 2-0 down to beat Crotone 3-2 in a potentially decisive relegation dogfight.
It was a thriller in Florence, as Milan snatched victory with Hakan Calhanoglu in a game with five spectacular goals, the woodwork rattled several times and a goal-line clearance.
Inter have gone 11 points clear at the top of the table after another clinical performance to beat Sassuolo 2-1 with Romelu Lukaku and Lautaro Martinez goals, but there was controversy.
Juventus Scudetto hopes are in tatters after Adolfo Gaich was gifted the winning Benevento goal by an Arthur Melo howler.
Gianluca Scamacca came off the bench to turn the match around with a brace, as Genoa beat Parma 2-1 at the Ennio Tardini.
Dries Mertens bagged an early brace for his 100th Serie A goal to give Napoli another big away win, a second consecutive Roma defeat and potentially decisive in the battle for fourth place.
Antonio Candreva gave Sampdoria their first win in five rounds with a precise angled drive, as Torino paid for poor finishing.
Spezia grabbed a massive victory over Cagliari in the relegation battle, but it was a bizarre game with the miss of the season, the worst-struck goal you’ll ever see and last-gasp VAR drama.
An Adam Marusic curler proved enough for Lazio to get the victory, but Udinese had several chances to get back into it.
Atalanta surprised everyone with a new 4-2-3-1 formation and it worked wonders, sweeping Verona aside with Ruslan Malinovskyi and Duvan Zapata goals.