Roma and Lyon cruised into the Europa League last 16, although Fiorentina and Athletic Bilbao exited the competition in the round of 32.
Roma progressed 4-1 on aggregate, despite losing 1-0 to Villarreal on the night and being reduced to 10 men.
Santos Borre gave the Yellow Submarine a glimmer of hope with the opener after just 15 minutes, but they were unable to breach the home defence again, not even after Antonio Rudiger's dismissal on 81 minutes.
Defeat on the night, victory in the tie! pic.twitter.com/vzdgJ23m5Q
— AS Roma English (@ASRomaEN) February 23, 2017
Meanwhile, Lyon made short work of AZ at Parc Olympique Lyonnais with a 7-1 thrashing that saw them advance 11-2 on aggregate.
Nabil Fekir (4', 27', 78') led the way in the second leg with a hat-trick, while Maxwel Cornet (17'), Sergi Darder (34'), Houssem Aouar (86') and Mouctar Diakhaby (89') also got on the scoresheet for the hosts, as Levi Garcia's 26th-minute goal proved a scant consolation for the Dutch club.
Elsewhere, Lars Stindl inspired Borussia Monchengladbach to a 4-2 victory over Fiorentina at Stadio Artemio Franchi to clinch a 4-3 aggregate win.
Gladbach had to come from two goals down in the second leg as Nikola Kalinic (15') gave La Viola the lead before Borja Valero (28') seemingly put them in command.
But a hat-trick from Stindl (44' pen, 47', 55') swung the tie in the Foals' favour and Andreas Christensen (60') wrapped up a massive come-from-behind triumph away from home.
— Gladbach (@borussia_en) February 23, 2017
Athletic Bilbao were also sent packing in the round of 16 after they went down 2-0 to APOEL at the GSP Stadium to bow out 4-3 on aggregate.
Early second-half goals from Pieros Soteriou (46') and Giannis Gianniotas (54' pen) edged the hosts in front in the tie, before the former was sent off to give Los Leones a numerical advantage.
But they failed to capitalise on the extra man and were reduced to 10 men themselves at the death with the dismissal of Ander Iturraspe.
Fellow La Liga side Celta Vigo overturned a 1-0 deficit in the first leg as they beat Shakhtar Donetsk 2-0 at the Metalist Stadium to march on in Europe.
Celta needed a last-gasp penalty from Iago Aspas to force extra-time and they struck again through Gustavo Cabral on 108 minutes to book their place in the next round.
— AFC Ajax (English) (@AFCAjax_EN) February 23, 2017
A solitary goal from Nick Viergever (49') was enough to see Ajax through to the round of 32 as they beat Legia Warsaw 1-0 at the Amsterdam Arena, which settled the tie.
Round-of-32 results in full:
Osmanlispor 0-3 Olympiacos
APOEL 2-0 Athletic Bilbao
Ajax 1-0 Legia Warsaw
Zenit 3-1 Anderlecht
Roma 0-1 Villarreal
Besiktas 2-1 Hapoel Be'er Shiva
Genk 1-0 Astra
FC Copenhagen 0-0 Ludogrets
Shakhtar Donetsk 0-2 Celta Vigo
Tottenham 2-2 Gent
Sparta Prague 1-1 Rostov
Fiorentina 2-4 Borussia Monchengladbach
Lyon 7-1 AZ