Having been drawn alongside holders Real Madrid in the Champions League group stages Spurs went into their home clash with Dortmund knowing they probably needed to get a result if they were to get out of Group H.
The hosts made a blistering start as Son raced down the flank and fired an effort beyond BVB stopper Roman Burki from an almost impossible angle after just four minutes but their lead didn’t last long.
The Bundesliga side levelled through Andriy Yarmolenko’s exceptional left-footed strike from the edge of the area, curling into the top corner and giving Hugo Lloris no chance.
Spurs reclaimed their advantage on 15 minutes as Kane smashed home following another counter, with Burki again guilty of being beaten from a tight angle at the near post.
BVB had a goal chalked off for offside just before the break as they continued to threaten but Tottenham should have been out of sight early in the second half as Kane and Son were both guilty of wasting chances.
BVB’s Pierre-Emerick Aubameyang saw a goal incorrectly ruled out for offside as Dortmund pushed for an equaliser and moments later Kane killed the game off with a well placed strike from the edge of the area after drifting into space.
Jan Vertonghen was harshly dismissed in the dying stages for Spurs as he picked up a second yellow card for perceived use of the elbow, as replays suggested it was accidental, but it was too late in the game for Dortmund to make any numerical advantage count.