Juventus' advantage at the top of the Serie A table was cut to four points as they were held to a surprise draw by struggling Crotone.
The visitors are looking to win their domestic title for a seventh successive year and made the ideal start when Alex Sandro flicked home a superb header from Douglas Costa's cross.
But Simy Nwankwo's stunning overhead free-kick earned Crotone a point.
Second-placed Napoli beat Udinese 4-2 to keep up the pressure on Juventus.
Maurizio Sarri's side face the leaders at the Juventus Stadium on Sunday (19:45 BST).
Lazio snatch victory in thriller
Lazio moved up to fourth by coming back from two goals down and beating Fiorentina 4-3 in a chaotic encounter that saw both sides reduced to 10 men.
Goalkeeper Marco Sportiello was sent off for Fiorentina early on for handling a cross outside his area but Lazio also found themselves a man down as Alessandro Murgia was dismissed for a last-man foul.
Jordan Veretout scored from the free-kick that followed before getting Fiorentina's second from the penalty spot.
Lazio pulled one back through Luis Alberto's well-taken free kick and were level when Martin Caceres powered in a header.
Veretout completed his hat-trick after a fine solo run but again Lazio hit back through Felipe Anderson's fierce drive before Alberto's late strike sealed victory.
Roma back to winning ways
Roma, who travel to Liverpool for their Champions League semi-final first leg tie next Tuesday, moved up to third after ending a run of four Serie A games without victory by beating Genoa 2-1.
Cengiz Under gave Roma the lead before an Ervin Zukanovic own goal put them in control. Gianluca Lapadula got a goal back for Genoa with a stunning strike from distance.