Villarreal scored three late goals to move into the Champions League quarter-finals as Juventus went out in the last 16 for a third successive year.
The Spanish side did not have a shot on target in Turin before substitute Gerard Moreno converted a 78th-minute penalty after Daniele Rugani fouled Francis Coquelin.
Defender Pau Torres added a second when he finished from six yards as Juventus failed to deal with a corner.
Arnaud Danjuma made it 3-0 with another penalty after Matthijs De Ligt handled.
Following a 1-1 draw in Spain last week, two-time European champions Juventus were clear favourites to advance and they dominated the first half at the Allianz Stadium.
However, Juventus’ Dusan Vlahovic, a goalscorer in the first leg, hit the crossbar and was also twice denied by Villarreal goalkeeper Gero Rulli, who also saved an effort from ex-Chelsea striker Alvaro Morata.
Villarreal, managed by former Arsenal boss Emery, had to defend deep and in numbers for the majority of the second half.
Chelsea come from behind against Lille
Thomas Tuchel wants Chelsea to be the side everyone wants to avoid in the Champions League quarter-final draw after the holders beat Lille at a lively Stade Pierre-Mauroy to secure a 4-1 aggregate win.
The Blues took a 2-0 first-leg lead to France but, in a match played amid continued uncertainty over the club’s future, they had to come from behind after a slow start to earn success in the return.
Burak Yilmaz pulled Lille back into the tie with a penalty after Jorginho handled, only for Christian Pulisic to reply in first-half injury time.
Chelsea captain Cesar Azpilicueta then put the last-16 encounter beyond the French champions when he finished at the back post with 19 minutes remaining.
Also qualifying for the next round are Atletico Madrid, Bayern Munich, Benfica, Liverpool, Manchester City and Real Madrid.
The draw for the quarter-finals takes place on Friday. (BBC)