(CNN) -- Villarreal came from behind to beat Napoli 2-1 and reach the last 16 of the Europa League on Thursday.
Following a 0-0 first-leg draw in Italy, the Spanish side went behind after just 17 minutes as Slovakia playmaker Marek Hamsik scored a vital away goal for Napoli, second in Serie A.
But Brazilian striker Nilmar leveled the tie two minutes before the interval and Italy international Giuseppe Rossi put Villarreal ahead right on halftime.
Napoli substitute Edinson Cavani and striker Ezequiel Lavezzi both hit the woodwork late in the second half but Juan Carlos Garrido's team, currently fourth in La Liga, survived to earn a clash with Bundesliga high-flyers Bayer Leverkusen.
The German side cruised through 6-0 on aggregate as second-half goals from Simon Rolfes and Michael Ballack sealed a 2-0 win to end the hopes of Ukraine's Metalist Kharkiv.
In-form Portuguese champions Benfica progressed with a 2-0 victory at Stuttgart to complete a 4-1 aggregate success over the German team.
Eduardo Salvio and Oscar Cardozo scored in each half to give Benfica a 16th successive win in all competitions and a first in 19 matches in Germany.
Rui Costa's team will next face Paris Saint Germain after the French side scraped through 2-2 on away goals after being held goalless at home by Belarusian champions BATE Borisov.
English club Manchester City will play Dynamo Kiev in the last 16 after cruising past Greek side Aris Thessaloniki with a 3-0 aggregate victory, having been held 0-0 in the first leg.
Bosnia striker Edin Dzeko scored twice in the first 12 minutes, while Yaya Toure sealed the win with 15 minutes to play.
Dynamo Kiev went through 8-1 on aggregate after beating Turkey's Besiktas 4-0 in the Ukrainian capital, as veteran striker Andrei Schevchenko scored the final goal in the 74th minute.
Scottish champions Rangers eliminated Sporting Lisbon on away goals as American midfielder Maurice Edu netted from close range in injury-time to earn a 2-2 draw in Portugal to make the score 3-3 on aggregate.
Senegal forward El-Hadji Diouf put the visitors ahead before former Rangers midfielder Pedro Mendes equalized before halftime and Yannick Djalo headed Lisbon ahead with seven minutes to play.
Rangers will next play Dutch side PSV Eindhoven, who beat 10-man French league leaders Lille 3-1 for a 5-3 aggregate success.
Pierre-Alain Frau gave Lille the lead but was sent off for a second booking soon after a 59th-minute equalizer by Hungarian Balazs Dzsudzsak, and goals from , Jeremain Lens and Marcelo sealed PSV's win.
English club Liverpool progressed with a 1-0 victory over Czech side Sparta Prague, as Dutch forward Dirk Kuyt headed home an 85th-minute corner for the only goal of the two legs.
Kenny Dalglish's team will next play Portugal's Braga, who beat Lech Poznan 2-0 to overturn a 1-0 first-leg deficit.
Brazilian duo Alan and Lima scored early goals before the Poles had Marcin Kikut sent off three minutes from time.
Zenit St. Petersburg came from behind to beat Swiss club Young Boys 3-1 and go through 4-3 on aggregate, as Roman Shirokov scored the vital third goal with 14 minutes to play.
The 2008 UEFA Cup winners went behind to Ammar Jemal's 21st-minute opener but replied through Danko Lazovic and Sergei Semak in an 11-minute spell either side of halftime.
Zenit will play Dutch champions Twente, who prevented an all-Russian clash by coming from two goals down to draw 2-2 at home to Rubin Kazan and seal a 4-2 aggregate victory.
Rubin leveled the tie through Cristian Ansaldi and Christian Noboa but Theo Janssen hit back in first-half injury-time and Brazilian defender Douglas restored Twente's overall advantage straight after the break.
Another Russian club, Spartak Moscow, also progressed 4-3 on aggregate after snatching a 1-1 home draw against another Swiss side, Basel, thanks to a late equalizer from Irish winger Aidan McGeady.
Veteran Australia international Scott Chipperfield put Basel ahead in the 15th minute, but Artem Dzyuba set up McGeady in time added on at the end after rounding the goalkeeper.
Spartak will next play four-time European champions Ajax after the Dutch side cruised to a 5-0 win over Anderlecht, beating the Belgian side 2-0 on the night in Amsterdam with two early goals from Miralem Sulejmani.
In the other last-16 tie, Portugal's Porto -- who went through despite losing 1-0 at home to Sevilla on Wednesday -- will play CSKA Moscow.