Villarreal beat Juventus 3-0 in the Champions League round of 16 on Wednesday to reach the quartetrfinals with a 4-1 victory on aggregate.
Gerard Moreno scored the game's opening goal with a penalty on 78 minutes following Daniele Rugani's foul on Francis Coquelin, which referee Szymon Marciniak awarded after consulting with the VAR.
- ESPN+ viewers' guide: LaLiga, Bundesliga, MLS, FA Cup, more
- Don't have ESPN? Get instant access
Defender Pau Torres added a second five minutes from time as he stabbed home after Serge Aurier's flick on from a corner before Arnaut Danjuma netted a stoppage-time penalty.
It was a game of few chances with Villarreal goalkeeper Geronimo Rulli pulling off a couple of smart saves in the first half.
With the game seeming like it would go to extra-time, Rugani brought down Coquelin for what looked like a clear penalty and, after initially waving play on, Marciniak awarded the spot kick and Moreno squeezed it in despite Juve goalkeeper Wojciech Szczesny getting a hand to it.
Juve boss Massimiliano Allegri reacted to going behind by throwing on Paulo Dybala and Federico Bernardeschi.
But just seven minutes later the game was up as Torres scored Villarreal's second. Danjuma added gloss to the scoreline as he finished off from the spot following Matthijs de Ligt's desperate handball after Juve were caught on the counterattack.
Defeat means Juve exit the competition at the round of 16 for the third consecutive season while Villarreal reach the quarterfinals for the first time since 2009.