Genoa came back from 2-0 down to pick up a point away to Brescia, thanks to two penalties, one of which was somewhat controversial.
Radja Nainggolan returned to inspire Cagliari in a 4-2 victory over Torino, the second consecutive Sardinian success that puts them level with Verona.
Juventus routed Lecce 4-0 with all of their goals coming in the second half to move seven points clear at the top of Serie A.
Franck Ribery’s magical solo effort had put Fiorentina in front, but a soft Ciro Immobile penalty and Luis Alberto strike turned it around to keep Lazio within four points of Juventus.
Ante Rebic eventually bundled over the line at the end of a chaotic move and Hakan Calhanoglu converted a penalty as Milan beat Roma 2-0 in a Europa League showdown.
Dries Mertens, Jose Callejon and Amin Younes allowed Napoli to get the better of SPAL, but it was a surprisingly tough game.
Parma were left to rue missed opportunities, as Inter defenders scored two late goals to wipe out Gervinho’s counter and conquer the Stadio Tardini 2-1.
Musa Barrow and Riccardo Orsolini combined two give Bologna a precious 2-1 away win, but it plunges Sampdoria further into relegation danger.
Fireworks were expected between these sides and they certainly delivered with six goals in the second half, including a last-gasp Sassuolo equaliser after going 3-1 down.
Luis Muriel came off the bench and bagged a sensational brace, as Atalanta survived some risky defending to beat Udinese and keep their amazing run going.