Juventus suffered a second half implosion against Villarreal as they crashed out of the Champions League last 16 with a 3-0 loss at home on Wednesday night.
With the tie level at 1-1 from the first leg in Spain, it was a simple case of winner takes all in Turin.
Villarreal initially enjoyed lengthy spells of possession, rolling the ball between one another with a patience that bordered on the painful. However, it was Juventus that offered the early penetration.
Alvaro Morata forced a superb save from Villarreal's custodian Geronimo Rulli in the 11th-minute, nodding Juan Cuadrado's cross towards the net from close range. Dusan Vlahovic hit the crossbar from an acute angle halfway through the opening 45 before he had a similarly point-blank header also denied by Rulli.
However, two inherently cautious outfits increasingly reduced a cagey contest to a crawl. Villarreal approached the second half as though they had a lead to protect, defending with at least five yellow shirts strung across the edge of their box at the base of a suffocatingly compact shape.
After 25 solid soporific minutes of frustration, Unai Emery's side creaked out of their rearguard as a pair of substitutes combined to break the deadlock. Francis Coquelin burst into the box, luring Daniele Rugani into a clumsy challenge that was - after a VAR intervention - rewarded with a penalty which Gerard Moreno converted.
Pau Torres deepened Juve's woes with an 85th-minute second, ghosting in unmarked at a corner. Arnaut Danjuma completed the misery, rattling in a second penalty he won as Matthijs de Ligt blocked his compatriot's effort with his arm.
On a famous night for Villarreal, Juve were consigned to their third consecutive exit in the Champions League round of 16.
Juventus player ratings vs Villarreal
1. Goalkeeper & defenders
Wojciech Szczesny (GK) - 4/10 - Got a meaty paw to Moreno's penalty but couldn't add to the Serie A spot-kicks he has saved this season.
Danilo (CB) - 5/10 - Left lagging behind Arnaut Danjuma when lured into a foot race but did his best to limit those scenarios.
Matthijs de Ligt (CB) - 2/10 - Caught ball-watching as Villarreal's corner scuttled to a defender on his toes before conceding a penalty.
Daniele Rugani (CB) - 2/10 - When belatedly called into some actual defending, Rugani wasn't able to keep pace with the not particularly fleet-footed Francis Coquelin.
Juan Cuadrado (RWB) - 5/10 - Posed a threat with his deliveries from wide, both from open and set plays. Much less assured going the other way.
Manuel Locatelli (CM) - 5/10 - Pushing forward in an attempt to support the attack, Locatelli rarely found himself utilised in those advanced positions.
Arthur Melo (CM) - 4/10 - Juve's deepest midfielder was far too safe and sideways when tasked with orchestrating attacks from sustained sequences of possession.
Adrien Rabiot (CM) - 6/10 - The Frenchman's sporadic bursts of urgency stood out among the majority of monotony.
Mattia De Sciglio (LWB) - 6/10 - Cantered up the flank regularly, providing an outlet high and wide - if a little awkward with his unfavoured left foot.
Dusan Vlahovic (ST) - 6/10 - Desperate to pull the trigger as soon as he found a smidgen of space.
Alvaro Morata (ST) - 4/10 - The perennially morose Morata was left with a familiar glum look as he squandered yet more openings.
Paulo Dybala (CM) - 5/10
Federico Bernardeschi (RW) - 5/10
Moise Kean (ST) - N/A