Luciano Vietto scored twice as Villarreal booked their place in the last 16 of the Europa League.
Preserving a 2-1 lead over Salzburg from their first meeting a week ago, the Yellow Submarine won 3-1 in Austria in order to progress.
Vietto's double turned the tie on its head after Marco Djuricin's goal had put Salzburg in front. The hosts were broken after that and Giovani dos Santos wrapped up an impressive win.
After a sterile start, Salzburg burst into life, opening the scoring 18 minutes in.