Porto moves on to Europa round of 16
Sevilla and Real Betis set up a mouthwatering derby in the last 16 of the Europa League with victories on Thursday night.
Sevilla won 2-1 at home to Maribor of Slovenia, goals from Jose Antonio Reyes (42) and Kevin Gameiro (59) helping them complete a 4-3 aggregate win. Dare Vrsic pulled one back in stoppage time for the visitors, but it did not affect the tie.
Betis claimed an impressive 2-0 win at Rubin Kazan to go through 3-1 on aggregate.
Nono put the visitors ahead on the stroke of half-time and Ruben Castro grabbed a second shortly after the hour mark. Napoli and Porto both survived scares to progress.
Porto, who came from 2-0 and 3-2 down to draw 3-3 at Eintracht Frankfurt and advance on away goals after the tie ended 5-5 on aggregate.
The Germans led 2-0 following a goal either side of half-time from Stefan Aigner and Alexander Meier, but the visitors responded through an Eliaquim Mangala brace. Meier struck again to put Eintracht back in pole position to progress, but substitute Nabil Ghilas' 86th-minute goal turned the tie back in the Portuguese side's favour.
Elsewhere, two sides who came into the competition from the Champions League fell by the wayside as Shakhtar Donetsk and Ajax crashed out.
Shakhtar went down 2-1 at home to Viktoria Plzen, first-half goals from Daniel Kolar and Milan Petrzela putting the Czechs in charge.
Luiz Adriano's 89th-minute consolation meant it finished 3-2 to Plzen on aggregate.
Ajax were as good as out following their 3-0 home defeat to Salzburg and things got little better for them in the second leg as they lost 3-1.
The Austrians scored three second-half goals through a Mike van der Hoorn own goal, Sadio Mane and Jonathan Soriano - adding to his first-leg brace, which included a goal from the halfway line. Davy Klaassen grabbed a late consolation for the Amsterdammers.
Salzburg play Basle in the last 16 after the Swiss side won 3-0 at home to Maccabi Tel-Aviv.
After a goalless first leg in Israel, a Valentin Stocker strike and a Marco Streller brace earned Basle a comfortable win.
Lazio were beaten 4-3 on aggregate by Ludogorets Razgrad after they threw away a two-goal lead and conceded an 89th-minute equaliser in a 3-3 draw in Bulgaria.
The Romans looked to have turned around their home-leg deficit when goals from Keita Balde, who scored inside the opening 18 seconds, and Brayan Perea after 54 minutes put them 2-0 up on the night.
Roman Bezjak and Hristo Zlatinski brought it back to 2-2, only for Miroslav Klose to put Lazio back in front after 83 minutes. But 85th-minute substitute Juninho Quixada struck four minutes after coming on to put Ludogorets through.