Barcelona booked their spot in the last 16 with a 4-2 thrashing in the second leg at Stadio Diego Armando Maradona.
Jordi Alba and Frenkie de Jong gave Barca a quick two-goal lead in the first 13 minutes while Lorenzo Insigne pulled a goal back for Napoli in the 23rd minute.
However, Gerard Pique restored the two-goal cushion for Blaugrana on the stroke of half-time and Pierre-Emerick Aubameyang made it 4-1 for Xavi's charges on the hour-mark.
Matteo Politano pulled a second goal back for the Italian side in the last three minutes but it was too little too late.
Borussia Dortmund were unable to turn around a heavy first-leg loss, as they were eliminated 6-4 on aggregate by Rangers after a 2-2 draw in the second-leg at Ibrox Stadium.
James Tavernier broke the deadlock for the Gers in the 22nd minute but Jude Bellingham levelled matters for Dortmund on the half-hour mark and Donyell Malen gave the German side a 2-1 lead just before the half-time break.
Tavernier levelled matters for Rangers and got his brace just before the hour-mark.
Sevilla qualified for the last 16 with a 3-2 aggregate win over Dinamo Zagreb despite their 1-0 loss in the second-leg at Stadion Maksimir.
Mislav Orsic scored the only goal of the game for Zagreb 25 minutes before time, while Thomas Delaney was sent off for Sevilla in stoppages, who had done enough on aggregate to go through.
RB Leipzig booked their spot in the last 16 after thrashing Real Sociedad 5-3 on aggregate after a 3-1 win in the second-leg at Reale Arena.
Willi Orban broke the deadlock for the Red Bulls just before the half-time break and Andre Silva doubled their lead on the hour-mark.
Martin Zubimendi pulled a goal back for Sociedad six minutes later but Emil Forsberg put the game to bed for the German side in the last minute.
Atalanta cruised to the last 16 with a 5-1 aggregate victory over Olympiacos Piraeus after a 3-0 drubbing in the second-leg at Georgios Karaiskakis Stadium.
Joakim Maehle broke the deadlock for Atalanta just before the half-time break and two goals by Ruslan Malinovskyi late in the game sealed an emphatic win for the Italian outfit
Porto advanced to the round of 16 after edging Lazio 4-3 on aggregate following a 2-2 draw in the second-leg at Stadio Olimpico.
Ciro Immobile drew first blood for Lazio in the 19th minute but Mehdi Taremi levelled matters for the visitors on the half-hour mark.
Mateus Uribe gave Porto a 2-1 lead 22 minutes before time and although Danilo Cataldi equalised for the Italian side in stoppages, it was not enough to salvage the tie on aggregate.
Real Betis went through to the round of 16 after edging Zenit St. Petersburg 3-2 on aggregate following a goalless draw in the second-leg at Estadio Benito Villamarin.
After a goalless first stanza, Dmitri Chistyakov thought he had levelled matters for Zenit on aggregate after finding the back of the net but his goal was chalked off by the Video Assistant Referee (VAR) for a foul in the build-up.