The team who beat Arsenal at the Emirates in the group stages scored four goals in Russia to take a big advantage back to Germany.
Marco Reus and Robert Lewandowski combined to put Dortmund on the brink of the Champions League quarter-finals with a 4-2 win over Zenit St Petersburg at Stadion Petrovski.
Reus made one for Henrikh Mkhitaryan and scored another as Dortmund took advantage of a poor first-half performance from their hosts to go 2-0 up in the last-16 first leg.
Zenit improved after the break and twice pulled a goal back, through Oleg Shatov and Hulk's penalty, but both times Lewandowski responded, with Reus the provider for the second to cap an impressive display from the Germany midfielder.
With the Russian league still not back from its winter break, Zenit have played no competitive football for two months - and they were caught cold by a lightning fast start from last year's beaten finalists.
In the fourth minute, Reus stayed strong to muscle his way through the Zenit defence and, when he was finally stopped, Mkhitaryan latched on to the loose ball and fired home.
It got worse for Zenit barely 60 seconds later with Mkhitaryan this time playing a supporting role as his cross found Kevin Grosskreutz, who knocked the ball down for Reus to lash home and make it 2-0.
And the bad news kept on coming for the hosts, with Andrey Arshavin forced off the pitch after 15 minutes with an apparent hamstring problem, replaced by veteran Ukraine international Anatoliy Tymoschuk.
Lewandowski had a shot from a narrow angle saved by Yuri Lodigin as the German side went for a third, while Zenit's best chance of the half came in the form of a Hulk strike from distance which went wide.
It looked like more of the same at the start of the second half when Lewandowski's effort was turned behind for a corner by Lodigin, but the hosts hauled themselves back into the game just before the hour, albeit in inelegant fashion.
A scramble in the Dortmund box saw the ball fall to Jose Rondon. His effort struck the post, but the loose ball ended up at the feet of Shatov, who had a simple task to convert.
It was only temporary respite, though, as Lewandowski restored the two-goal lead for Dortmund, playing a neat exchange with compatriot Lukasz Piszczek and managing to dig the ball out from under his feet to slide it past Lodigin.
Piszczek turned villain in the 69th minute when he was adjudged, somewhat harshly, to have fouled Viktor Faitzulin in the box, and Hulk made no mistake from the spot.
But again Dortmund made an immediate response, as Lewandowski netted from a narrow angle having been played in by Reus.
It was no less than the visitors deserved and Jurgen Klopp's men will be confident of taking another step towards emulating last year's heroics when the tie heads back to Germany next month.