An own goal from Iker Casillas helped Borussia Dortmund record a 1-0 away win over Porto in Thursday's Europa League last-32 tie to make it a 3-0 aggregate success for the Bundesliga side.
Hosts Porto knew they needed an early goal to boost their chances of a comeback after their first-leg loss, but were dealt a major blow halfway through the first half when Casillas gifted Dortmund the lead in unfortunate fashion.
The former Real Madrid goalkeeper did well to deny Marco Reus from close range, but Pierre-Emerick Aubameyang was first to the rebound - in what seemed to be an offside position - and unleashed a shot that crossed the line after hitting the crossbar and Casillas.
Evandro, Silvestre Varela, Vincent Aboubakar and Yacine Brahimi all had good chances to level the score - the latter hitting the crossbar late on - but Roman Burki proved to be too much of an obstacle between the sticks as it remained 1-0 as Dortmund booked their spot in the last 16.
Ruben Neves threatened for Porto early on with a powerful strike from 20 yards out that went high and wide. Dortmund initially struggled to create any chances of note, but effectively decided the tie with their first good opportunity after 23 minutes.
Casillas reacted well to keep out Reus' volley after a cross from the right, only for Aubameyang to pounce on the rebound and see his shot go in via the woodwork and the unfortunate Porto goalkeeper.
Moussa Marega came close to levelling within 60 seconds of the opener when he tried his luck with a right-footed shot from a narrow angle that flew narrowly over.
Evandro caused the Dortmund defence all kinds of trouble in the 40th minute with a superb dribble through the middle, before placing his shot just wide at the far post.
Varela got another chance to restore parity in the dying seconds of the first half after a fine cross from Miguel Layun, but Dortmund goalkeeper Burki showed his class with a superb reflex save.
Porto kept pushing for the equaliser after the break and Burki was again called into action following a cheeky backheel from Aboubakar in the 55th minute, with the Switzerland international only just keeping it out.
Aubameyang thought he had doubled Dortmund's lead at the hour mark after being set up by Henrikh Mkhitaryan, only for referee Mark Clattenburg to blow for offside.
A fine Burki save denied Suk Hyun-jun with 15 minutes remaining before substitute Brahimi came incredibly close to equalising in the closing stages with a powerful strike against the crossbar.
Mkhitaryan also hit the woodwork in the 90th minute as it somehow remained 1-0 to Thomas Tuchel's men.