Juventus' slim Serie A title chances suffered a further blow as they were held to a 1-1 draw by Fiorentina at the Stadio Artemio Franchi.
After a week of embarrassment following their commitment to an ultimately doomed European Super League, which would have replaced the Champions League, they now face a battle to qualify for the latter competition. La Viola battled to a deserved point, which boosts their survival hopes.
It was a passive start by both teams, but Wojciech Szczesny was forced into action when Franck Ribery picked up a misplaced pass by Cristiano Ronaldo and found Dusan Vlahovic in with a well-timed ball, but the Pole was there to smother.
Juventus down Mourinho's Roma amid VAR drama
Erick Pulgar almost put Fiorentina ahead when his strike from distance deflected off Leanardo Bonucci. Szczesny was beaten, but relieved to see the ball canon off the post.
Approaching the half hour mark, Fiorentina were given a penalty after VAR recommended the referee view a handball by Adrien Rabiot on the pitch-side monitor. Vlahovic, who saw appeals for a spot-kick waved away earlier, converted with a panenka.
Aaron Ramsey squandered Juve's best chance of a leveller before half time when he shot wide after superb build up play from Paulo Dybala and Rodrigo Bentancur.
Juve introduced Dejan Kulusevski and Alvaro Morata at the break, and were instantly rewarded when the latter equalised with a superb solo goal from a tight angle just seconds after his introduction.
The chance of a second went begging just past the hour when Giorgio Chiellini, who almost made a mess of a clearance from a corner at the other end, headed Juan Cuadrado's free kick across goal when he really should have tried to score himself.
The game appeared to be petering out, but Ronaldo somehow failed to win it five minutes from time. Kulusevsky's cross was inch-perfect, but his jump was mistimed and he couldn't connect at the back post, summing up his, and Juve's, day.
TALKING POINT - Far from super Juve stutter again
It was a PR disaster for Juve and their chairman Andrea Agnelli to see widespread condemnation of the Super League from the football world. The Bianconeri have looked average this season, and they did so again in Florence. Ronaldo and Dybala were particularly bad on a damaging afternoon for Andrea Pirlo's side.
MAN OF THE MATCH - Franck Ribery (Fiorentina)
There were certainly a few candidates. Vlahovic marvelled in his role as target man and Pulgar was always busy creating and probing. But Ribery set the tone; his energy, not typical of a 38-year-old, was phenomenal and he was always looking to make something happen. In the battle of the veteran legends, he outshone Ronaldo.
Fiorentina: Dragowski 6, Milenkovic 7, Pezzella 6, Caceres 6, Igor 7, Amrabat 6, Pulgar 7, Castrovilli 7, Venuti 6, Vlahovic 7, Ribery 8 Substitutes: Martinez Quarta 6, Biraghi 5, Kouame 5, Eysseric n/a
Juventus: Szczesny 6, Chiellini 6, Bonucci 5, de Ligt 5, Alex Sandro 5, Rabiot 5, Bentancur 6, Ramsey 6, Cuadrado 6, Ronaldo 5, Dybala 4 Substitutes: Morata 7, Kulusevsky 7, McKennie 6
21' - POST! Pulgar's strike deflects off Bonucci and onto the post. Szczesny was beaten!
29' - GOAL! Vlahovic converts from the spot with a panenka! 1-0 Fiorentina.
44' - MISS! Ramsey should score! Great link up play between Dybala and Bentancur in the builfd up, but he somehow shoots wide with Dragowski closing in.
46' - GOAL! Morata levels straight away! What an unbelievable finish from a tight angle.
84' - CHANCE! How hasn't Ronaldo scored? Kulusevski's cross is somehow missed by Ronaldo at the back post.
Morata's goal, at just 31 seconds after he came on, was the fastest goal by a substitute this season.
Inside Europe: Could Inter be next for Newcastle's new Saudi owners?
Raiola plans Haaland talks with Man City in January – Paper Round