Juventus missed the chance to finish sixth in Serie A despite Federico Chiesa's strike sealing a 1-0 victory over Udinese at Dacia Arena.
After Paulo Dybala's late penalty helped Roma to a 2-1 victory over Spezia, Massimiliano Allegri's side were unable to leapfrog the Giallorossi and were forced to settle for a seventh.
Chiesa's second-half strike was the difference for Juve, who were deducted 10 points for violating financial rules earlier in a rollercoaster campaign but they suffered their lowest top-flight finish for 12 years.
Meanwhile, Udinese finished 12th in the league following their 10th defeat in 12 meetings with the Old Lady.
Udinese had lost their last three but went close after just four minutes when Beto somehow headed Florian Thauvin's cross over from inside the six-yard box.
Chiesa’s deflected effort hit the side-netting before Juve saw a headed opportunity go begging as Leonardo Bonucci nodded against the crossbar from seven yards out following Arkadiusz Milik's flick-on.
Chiesa continued to cause Udinese problems down the left flank, yet the sides headed into half-time goalless after a profligate showing from both teams.
Juve squandered a great chance to break the deadlock just after the hour mark, Adrien Rabiot firing wide despite being found by Milik in acres of space inside the box.
But the visitors eventually opened the scoring in the 68th minute, Chiesa receiving the ball from Manuel Locatelli before bending a brilliant shot into the bottom-right corner.
Locatelli and Angel Di Maria went close to extending the advantage and though the single goal was enough, former Juve forward Dybala was to snatch sixth place for Roma from under his old club's nose.
What does it mean? Juve miss out on top six
Juventus did what they could by claiming maximum points at Dacia Arena, where they have lost just once in 13 Serie A visits.
Sixth place appeared to be the Bianconeri's until the dying moments of regulation time at Roma, when Juve's former favourite Dybala condemned them to Europa Conference League football next season.
Chiesa clinches it
The only goal of the game was a well-taken one as Chiesa brilliantly curled into the far corner from inside the area.
That came from a game-high four attempts by the winger, who also led the way with three good crosses.
Misfiring Milik
Although he had only scored once in 10 games, Milik had netted in three of his last five Serie A games against Udinese.
However, he was unable to maintain that solid streak here, with his tallies of touches (16) and passes (nine) the lowest recorded by any starting Juve player.
Key Opta facts:
- Juventus have kept a clean sheet in 20 of their 38 games, only Lazio (21) have done so more often in Serie A this season.
- Udinese have lost four Serie A matches in a row for the first time since October 2018 under Julio Velazquez.
- Since April 2023, no team has collected more defeats than Udinese in Serie A (seven level with Sampdoria).
- Since May 2023, only Domenico Berardi (five) has been directly involved in more goals than Chiesa among Italian players in Serie A (four, two goals and two assists).
- Juventus have won three of their last four Serie A away games (lost one), as many wins as in their previous 16 away games in the competition (drew six, lost seven).
What’s next?
Juventus will be glad to see the back of what has been a torrid season on all fronts, while Udinese will look to improve on their encouraging 12th-place finish.