Cagliari ended Juventus’ eight-match unbeaten run in the Italian Serie A with a 1-0 victory at the Unipol Domus, dealing a blow to the visitors’ slim hopes of winning the league title.
Juventus went into the encounter in impressive form after thrashing Cremonese 5-0 in their previous outing.
However, Luciano Spalletti’s men struggled to make an impact in the first half against a Cagliari side that had won only two of their previous 16 league matches.
Fabio Miretti came closest to breaking the deadlock for Juventus before the break, but Cagliari goalkeeper Elia Caprile denied his low effort from inside the box.
Miretti also appeared to have won a penalty after a challenge by Luca Mazzitelli, but referee Davide Massa overturned his initial decision following a review on the pitchside monitor.
Juventus improved after the restart, with Miretti missing the target before Caprile kept out Andrea Cambiaso’s long-range attempt.
Lloyd Kelly and Kenan Yildiz also failed to find the breakthrough as the visitors struggled to convert their possession into clear-cut chances.
Cagliari capitalised on Juventus’ wastefulness when Mazzitelli scored the decisive goal with a superb volleyed flick from Gianluca Gaetano’s free-kick.
The finish beat Juventus goalkeeper Mattia Perin and gave the hosts the lead against the run of play.
Juventus pushed forward in search of an equaliser, but Cagliari defended resolutely to protect their advantage.
Yildiz came close to rescuing a point when his deflected effort struck the post, leaving the visitors frustrated at the final whistle.
The defeat leaves Juventus 10 points behind league leaders Inter Milan, with the Turin club also at risk of dropping to fifth place if Roma beat Torino.
Cagliari, meanwhile, moved eight points clear of the relegation zone, securing only their second victory in eight home league matches.