Juventus missed a chance to clinch their ninth successive Serie A title as they succumbed to a shock 2-1 loss to Udinese on Friday (AEST).
Inter's goalless draw with Fiorentina on Thursday opened the door for Juve to secure the Scudetto with a win at the Dacia Arena but they were unable to oblige.
Matthijs de Ligt put the Bianconeri on the path to glory towards the end of a tepid first half before Ilija Nestorovski's excellent diving header restored parity in the 52nd minute.
Juve pushed for a winner but Seko Fofana's brilliant stoppage-time finish at the end of a lung-busting run ensured the champagne was kept on ice for Maurizio Sarri's men.
Udinese went close to getting the opener in the eighth minute but the post stopped Danilo heading Ken Sema's cross into his own net.
Juan Musso stopped Bram Nuytinck scoring a bizarre own goal with a misjudged back pass and from the resulting corner the Udinese goalkeeper produced a good save to keep out Paulo Dybala's volley.
Rodrigo de Paul had a penalty appeal ignored and de Ligt put Juve in front when he controlled William Troost-Ekong's headed clearance and arrowed it into the bottom-left corner in the 42nd minute.
Udinese improved in the second half and restored parity seven minutes after the restart, Sema picking out an unmarked Nestorovski for a fine finish at the back post.
A curling effort from Dybala – Juve's first shot on target in the second half – was held well by Musso in the 62nd minute, while the hosts remained game in their bid to snatch the three points that would boost their survival hopes.
They got them when Fofana outmuscled de Ligt and slotted home in the 92nd minute, with Juve left to reflect on a surprise defeat.
What does it mean? Title race still alive… just
A Juve victory would have secured the title due to their superior head-to-head record against Atalanta, but their advantage over Gian Piero Gasperini's side with three games left remains six points.
Udinese's triumph means Atalanta, Inter and Lazio all still have a shot at overthrowing the Old Lady, who have won just one of their past five matches as they stagger towards the finish line.
At the other end of the table, Udinese shot up to 15th and are seven points clear of the relegation zone.
Three points from Fofana
His late winner could prove pivotal in keeping Udinese in the top flight, but Fofana provided far more than that against Juve. He had 94 per cent passing accuracy and won 83 per cent of his duels in an impressive, dynamic midfield showing.
Slack Alex Sandro
It cannot be doubted that Nestorovski's header was of the highest quality, but Alex Sandro's failure to track his run gave him all the time and space he needed to pick out his spot, igniting Udinese's comeback.
Juve will look to wrap things up when they entertain Sampdoria on Monday, while Udinese will be out to secure their survival at Cagliari.