Beaten in both of their previous appearances in the Europa League semi-finals, Villarreal finally came good under three-time winner of the competition Unai Emery, who guided Arsenal to the final in 2019.
The Gunners lost to Chelsea two years ago and were denied the chance to tee up another all-English final as their former boss managed to see out the result.
It was not for a lack of trying, with Pierre-Emerick Aubameyang hitting the post twice, though Mikel Arteta's team ultimately fell short at the penultimate hurdle.
Having finished the first leg on the ascendancy, Arsenal failed to pick up where they left off, and it took a Dani Parejo free-kick looping just over Bernd Leno's crossbar to spark them into life.
Aubameyang missed a late chance last week, and he was inches away from opening the scoring when his right-footed half-volley clipped the upright.
Villarreal suffered a blow moments later – Samuel Chukwueze having to be taken off on a stretcher after going down innocuously – with Geronimo Rulli almost spilling an Aubameyang shot over the line soon after.
Having failed to score in the first half for a sixth straight home game, Arsenal wasted no time in getting on the front foot after the break – Nicolas Pepe firing just wide.
Emile Smith Rowe went similarly close following another Rulli mistake, though Arsenal played their way into trouble at the other end and were fortunate Gerard Moreno's effort lacked power.
Aubameyang seemed all set to put Arsenal ahead on away goals when he leapt to meet Pepe's cross, only for his header to bounce agonisingly back off the post as – despite some more nervy goalkeeping from Rulli – Villarreal held firm to book their place in Gdansk.