It was an amazing night in Florence with two red cards in the opening 15 minutes, seven goals, controversy and a win to keep Lazio in joint third place.
This was a big match for the European places, as while the Aquile went into the midweek round in joint third place with Roma, the Viola were steaming in on a Europa League spot after six wins and two draws. Milan Badelj and Cyril Thereau were out injured, but Capocannoniere Ciro Immobile passed a fitness test to start after bruising in the Rome Derby, plus Stefan Radu suspended, so Felipe Caicedo got a rare outing as the centre-forward.
Simone Inzaghi took over the Lazio job by replacing Stefano Pioli for the final few weeks of the 2015-16 season, but went on to become a very successful Coach, winning the Italian Super Cup.
Both sides had found the net in each of their last five meetings, home and away, for a total 21 goals.
Lazio were forced into a change in the warm-up, as Marco Parolo picked up an injury and was replaced by Alessandro Murgia.
It was a disastrous start for Fiorentina, though, as goalkeeper Marco Sportiello ran to the outer edge of his area, scuffed the clearance on Immobile and then didn’t realise where he was, handling outside the box.
Extraordinarily, by the 14th minute the situation was level, because Alessandro Murgia – who only played due to Parolo’s last-minute injury – brought down Federico Chiesa when clear on goal and was also sent off.
From that free kick, Jordan Veretout curled it directly over the wall and into the near top corner to give Fiorentina the lead.
It should’ve been 1-1 moments later, but German Pezzella made a crucial goal-line clearance to deny Stefan de Vrij, who was about to tap in a Lucas Leiva low cross.
Lazio took off defender De Vrij for striker Felipe Anderson and moved to a four-man defence, and the Brazilian immediately set up Immobile for a strike charged down by Milenkovic.
The referee was involved with controversy again when awarding a very dubious penalty for Fiorentina, as Luiz Felipe seemed to get something on the ball when he tackled Cristiano Biraghi. Veretout stepped up to convert the spot-kick and double the Viola’s lead.
Luis Alberto got Lazio back into the game with a direct free kick curled into the top corner and Simone Inzaghi was sent off for dissent when he wanted a penalty for Biraghi’s handball, but it was fired straight at him from close range.
Lazio completed the comeback with a remarkably powerful Martin Caceres header at the near post on a corner, which bounced in off a startled Dragowski.
The drama continued, with Giovanni Simeone finding the back of the net only for the goal to be disallowed for a very tight offside position using VAR.
Moments later, Fiorentina did go 3-2 up as Veretout completed his totally unexpected hat-trick. It was a wonderful individual goal, as he won back possession, skipped past Luiz Felipe and curled in a left-foot finish.
Lazio were awarded a penalty when Pezzella mistimed his tackle on Immobile, but after a long wait, VAR confirmed the striker was offside anyway.
Felipe Anderson made it 3-3 when he just smacked it from 20 metres out into the near bottom corner, as nobody closed him down and he saw the gap.
Lazio turned it around completely to lead 4-3 just four minutes later. Adam Marusic rolled a ball from the right to the near post, where Luis Alberto snuck up between defenders to anticipate Pezzella and toe-poke it in.
It was all hands on deck for the final minutes, as Felipe Anderson and Luis Alberto made decisive blocks in their own penalty area.
See the latest Serie A predictions and betting tips with Eurotips.co.uk
Sent off: Sportiello 8 (F), Murgia 15 (L)