Dortmund hotshot Pierre-Emerick Aubameyang got things started as the home side dominated the ball in the first half following an encouraging opening five-minute spell from us.
But it only got more difficult as the night went on and a brace from Marco Reus sealed a 3-0 advantage for the Bundesliga giants - and it could have been more as Hugo Lloris was kept busy and Gonzalo Castro hit the outside of the post with Dortmund subjecting us to wave after wave of attack, leaving us a mountain to climb in the return match at White Hart Lane next Thursday.
It was evident on the night that the reputation of Signal Iduna Park - Dortmund's home ground - precedes it. Unrivalled in Germany for size and atmosphere, there was a cauldron of noise and a sea of yellow awaiting the teams.
The surroundings were familiar for our two former Bundesliga players, Heung-Min Son and Kevin Wimmer, and Dortmund has been a happy hunting ground for both in years gone by. Both started for us with seven changes from the side that drew with Arsenal on Saturday. As often is the case the full-backs were rotated while, in midfield, Tom Carroll and Ryan Mason sat in front of the defence. The attacking four saw Christian Eriksen retain his place flanked by Son and Josh Onomah, with Nacer Chadli ahead of them.
Credit to our fans who made themselves heard in the corner of the stadium and provided a Lilywhite wall to match the famed Yellow Wall belonging to the hosts as the teams made their way out.
We started well as Eriksen tested Roman Weidenfeller with a fierce drive from distance inside the opening minute.
Castro had the home side’s first shot on six minutes and soon after we had a lucky escape when the prolific Aubameyang slipped in Erik Durm who went through on goal but lashed his effort narrowly wide.
It sparked the home side into life as the momentum swung in their favour. Aubameyang himself went close with 10 minutes gone when he sliced a volley from a dangerous Marcel Schmelzer cross over the bar.
It was one-way traffic as Toby Alderweireld produced a magnificent saving tackle to deny Durm shortly afterwards.
Seconds later, the home side thought they had the lead when Aubameyang turned home a loose ball after a stunning save from Lloris to keep out a powerful long-ranger from Castro, but the flag was up for offside and it remained level.
For a time it looked like we had weathered the storm but on the half-hour mark the home side were in front when Aubameyang rose to head home a dangerous cross from the left from Schmelzer. It was his 33rd goal in 38 games this campaign.
Carroll was booked for a high foot five minutes later and from the resulting free-kick, Marco Reus curled a shot narrowly wide.
Onomah looked unfazed by the occasion on just his fourth senior start and showed some neat touches, looking to catch Dortmund on the break.
The second half began in similar fashion, though, with the home side in control. Castro hit the outside of the post after Aubameyang clipped the ball beyond Lloris early on before we had shouts for a penalty waved away when Son went to ground in the box under pressure from Sven Bender.
It was 2-0 on the hour mark when Reus crashed home a volley at the back post after a cross following a short corner was flicked on.
The second goal took some of the sting out of the match but 10 minutes later the game was finished. Aubameyang led the charge and slipped in Castro who picked out Reus with an inch-perfect ball and he produced a cool side-footed half-volley into the back of the net.
Just a minute later, Son had our best chance of the game when he ran through and tried a shot on the angle but his finish was tame and the goalkeeper saved with ease.
Schmelzer then laid back for Castro who fired over from 12 yards before a dangerous free-kick from substitute Erik Lamela was gathered at the back post by Weidenfeller.
Onomah went to ground as he tried to battle past Mats Hummels and Lukasz Piszczek at the left corner of the penalty box but the referee waved play on.
At last we were starting to control the possession in the closing stages as we chased an away goal and substitute Harry Kane almost latched onto a long ball over the top as he ran through centrally but the goalkeeper got there first.
Henrikh Mkhitaryan then found himself in with a chance as Dortmund broke away after an unfortunate ricochet in the middle but he was torn between crossing and shooting and in the end did neither.
The final whistle followed after three minutes of stoppage time with the German side having secured a comfortable win.
Borussia Dortmund (3-4-3): Weidenfeller; Piszczek, Bender (Subotic 57), Hummels (c); Durm, Weigl, Castro, Schmelzer; Mkhitaryan, Aubameyang (Kagawa 82), Reus (Ramos 82). Substitutes (not used): Burki, Leitner, Ginter, Sahin.
Spurs (4-2-3-1): Lloris (c); Trippier, Alderweireld, Wimmer, Davies; Carroll, Mason; Onomah, Eriksen (Lamela 65), Son (Kane 76); Chadli (Dembele 57). Substitutes (not used): Vorm, Carter-Vickers, Walker, Bentaleb.
Goals: Borussia Dortmund – Aubameyang 30, Reus 61, 70.
Yellow cards: Spurs – Carroll 35, Lamela 67.
Referee: Cüneyt Çakır.