Dortmund run goes on as Porto are swept aside in Europa League
Borussia Dortmund recorded their fifth straight win in all competitions by defeating Porto 1-0 at the Estadio do Dragao to advance beyond the Europa League's last 32.
Thomas Tuchel's men held a 2-0 lead from the first leg and increased their advantage further with an away goal midway through the first half.
The in-form Pierre-Emerick Aubameyang was originally credited with his 29th of the season, although it is likely to go down as an own goal against Porto goalkeeper Iker Casillas, who saw the ball come back off the crossbar and ricochet off him and over the line.
Dortmund took their foot off the gas after that opener as they continued their unbeaten streak in the calendar year and kept a fourth successive clean sheet in the process.
Aubameyang did have a second-half strike ruled out for offside, but the flag was nowhere to be seen when he seemed to stray beyond the last man for the 23rd-minute goal.
The visitors broke at pace and in numbers, Henrikh Mkhitaryan picking out Marco Reus with a first-time pass and the German international smashed a volley downwards which Casillas managed to keep out with his left arm.
However, Aubameyang, who looked offside when Reus struck, was lurking and while he fired what should have been a simple finish against the underside of the woodwork, the ball came down and hit Casillas before going in.
The Portuguese outfit had opportunities to get an equaliser before the interval, yet Moussa Marega fired over from distance and Evandro skewed his shot wide after dancing past Mats Hummels.
Porto's best chance prior to the interval fell to Silvestre Varela when his header was somehow tipped around the post by Roman Burki as he leapt to his left to push it away one-handed.
The home side started the second half brightly too and Burki had to stand up to Vincent Aboubakar's flick from Marega's cross before Danilo Pereira fired a shot on his weaker left foot wide.
Danilo was then scythed down by half-time substitute Nuri Sahin's kick to his chest, with the Turkish midfielder only earning a caution from English referee Mark Clattenburg.
There was no fightback from Porto as the half dragged on, though, and Dortmund were unfortunate not to pad their lead further.
Aubameyang did fire in a second from Mkhitaryan's reverse pass but was adjudged to be offside and the assistant referee's flag went up again before Shinji Kagawa squared for Mkhitaryan to tap into an empty net shortly afterwards.
Mkhitaryan continued to push for a goal himself and Casillas had to be alert to divert his cross away after it deflected off Yacine Brahimi, who then clattered the woodwork at the other end when an opportunity presented itself after fellow substitute Hyun-Jun Suk had stumbled in front of goal.
There was to be no Porto consolation as they bowed out of the competition and they almost conceded again in the closing stages when Mkhitaryan struck a post following a brilliant run from Aubameyang and Kagawa drove into the side netting.