Juventus will have to wait to confirm a ninth-straight Serie A title after they suffered a shock 2-1 defeat against Udinese on Thursday.
Seko Fofana scored the winner for the hosts in second-half injury time to steal all three points from Juventus.
The eight-time holders dominated the first half and finally found their opener just after the 40-minute mark when Matthijs de Ligt settled an Udinese clearance and smashed a shot from outside the penalty area past Juan Musso to take the lead into the break.
- Connelly: How Juventus continue to dominate Serie A
- Stream ESPN FC Daily on ESPN+ (U.S. only)
- Stream Serie A games on ESPN+
Udinese surprisingly hit back early in the second half through Ilija Nestorovski, who scored with a stellar diving header on 52 minutes to get the match back on level terms.
The goal seemed to enliven the hosts and a tense back-and-forth match played out over the rest of the second half before an excellent individual effort from Fofana gave Udinese an important and surprising win.
Diving header brings Udinese level vs. Juve
Serie A: Ilija Nestorovski (52') Udinese 1-1 Juventus. Watch Serie A on ESPN+.
Juventus have now given up multiple goals in four of their last five matches, the only time in the last 10 seasons this has happened.
Maurizio Sarri's side are now on 80 points from 35 games and can seal the title with a win over Sampdoria on Sunday or if chasing Inter Milan and Atalanta fail to win on Saturday. Udinese, on 39 points, are almost certain to avoid relegation from Serie A.
"We lost a bit of order," said Sarri after the match. "We lost in the 93rd minute because we were trying to win at any cost. This season is difficult, all the teams are playing in conditions different to the usual ones and everyone is tired."
Juventus are also still alive in the Champions League and have work to do to reach the quarterfinals as they trail Lyon 1-0 on aggregate ahead of the Aug. 7 second leg in Turin.