Pierre-Emerick Aubamayeng hit the post twice for Arsenal as Villarreal hung onto their lead to reach the Europa League final.
The Gunners were trailing 2-1 from the first leg in Spain and failed to overturn the deficit as Unai Emery got one over his former club to once again reach the final of a competition he thrives in.
A 0-0 draw at the Emirates Stadium means Arsenal’s hopes of playing in Europe next season rely on an unlikely string of results in the Premier League.
Pierre-Emerick Aubameyang hit the post with Arsenal’s best chance as another tactical tweak from manager Mikel Arteta failed to pay off.
Emery won the Europa League three times as Sevilla manager and took Arsenal to the final in 2019, where they lost to Chelsea.
Manchester United will be waiting for Emery’s Villarreal this time around as Arsenal’s exit prevented both Europa League and Champions League finals from being all-English affairs.
Arsenal lost Granit Xhaka after complaining of a tight muscle in the warm-up, but it was in attack where Arteta’s side were again found wanting.
Recalled Bernd Leno was the first goalkeeper tested, having to push a curling Samuel Chukwueze strike behind for a corner.
The next threat to his goal came from a team-mate as Thomas Partey’s overhit back-pass had to be headed clear by the retreating goalkeeper.
Leno would have got nowhere near a Dani Parejo free-kick at the midway point of the half, but fortunately for the hosts his effort whistled over the crossbar.
Arsenal had started much nervier than Villarreal but could have taken the lead when Aubameyang hit a dropping volley which clipped the post on the way behind.
The Arsenal skipper came close with an effort as the half wore on, shooting straight at Geronimo Rulli in the Villarreal goal only for him to spill through his legs and scrabble back to save.
Nicolas Pepe, whose penalty have Arsenal their away goal, fired just wide as the hosts came out on the attack straight after the restart.
Arteta was then left with his head in his hands as Emile Smith Rowe attempted an audacious chip when well-placed, seeing the shot drift wide.
But it was not all going Arsenal’s way. Partey was robbed of possession just outside his own penalty area but Villarreal could not make him pay as Gerard Moreno’s shot was easily held by Leno.
Substitute Yeremi Pino was next to force Leno into action with a low strike well saved by the German.
With tempers starting to flare, Aubameyang saw a header kept out by a combination of goalkeeper and post with the rebound hacked off the line.
That would be his last action as Alexandre Lacazette came on in his place with Gabriel Martinelli, Willian and Eddie Nketiah all thrown on in search of the goal required to send Arsenal to the final in Gdansk.
But the attacking changes were in vain as Villarreal held on to reach a first major final in their history and all but end Arsenal’s season.