Son Heung-min opened the scoring for Spurs, whilst Andriy Yarmolenko equalised for the away side. However, Harry Kane was on top form clinically finishing two chances with his left foot.
Despite an impressive win, Spurs were reduced to ten-men late on as Jan Vertonghen was dismissed for flailing his arm in the face of Mario Götze.
Spurs take early lead
Son opened the scoring for Spurs finishing off an incisive counter-attack. Kane released Son down the left flank with a slick through ball, setting the Korean up to drive at the Dortmund defence, and finish past goalkeeper Roman Bürki's front post.
Mauricio Pochettino's side could not hold their lead for long however. Following a one-two with Shinji Kagawa, Yarmolenko perfectly curved a delicate strike into the top corner from just outside the area to haul Der BVB level.
Spurs fans may have had reason to protest, as there was an offside not given early in the Dortmund build-up.
Tottenham quickly regained their lead with another quick counter-attack as Kane rode two challenges to finish past Bürki at the near post with a strike reminiscent of Son’s opener.
Just 16 minutes in and Spurs were 2-1 ahead in what would turn out to be an enthralling affair.
Dortmund fail to capitalise on dominance
Following Spurs' second, Dortmund displayed their dominance and completed the half with 67% possession.
Pierre-Emerick Aubameyang and Christian Pulisic were both on the end of chances they'd created for each other. Pulisic's cross-goal pass was cleared just from the feet of Aubameyang by Jan Vertonghen.
Aubameyang turned provider just minutes later, but his pass proved slightly too heavy for Pulisic to latch onto.
Minutes before the half-time interval Pulisic did have the ball in the back of the net, but the goal was not given following interference from an offside Aubameyang.
Kane finishes off Dortmund
Dortmund continued to threaten throughout the second half but excellent goalkeeping from Hugo Lloris and wasted chances from the German side proved pivotal towards their eventual defeat.
Both goalscorers missed golden opportunities for Spurs early on, however they were not to rue their misses.
In the 57th minute, another Dortmund equalizer was denied due to Aubameyang being ruled in an offside position yet again. However, replays showed the striker to be onside, meaning that his excellent finish was not to be counted.
It was just minutes later that Kane finally buried the visiting side with another strong finish on his left foot giving Spurs breathing space as they held on for three points.