Pierre-Emerick Aubameyang had given Dortmund a half-time lead, but goals from Harry Kane and Son Heung-min ensured that the Premier League side will finish above defending champions Real Madrid with a game to spare.
Defeat for Dortmund leaves the German outfit battling it out with APOEL for a Europa League place, but Peter Bosz's side only have to match the result of the Cypriot club in order to progress.
Spurs were struggling to make any kind of an impact in the final third, and it came as no surprise when Dortmund almost went ahead through Aubameyang but despite having time and space after being played in behind the defence, the Gabon international sent the ball wide from no more than 14 yards out.
Spurs did not create a clear-cut chance until just before the half-hour mark when Son volleyed straight at Roman Burki after meeting a Jan Vertonghen cross, but Dortmund soon set about taking a deserved lead.
Yarmolenko's flick deceived the Spurs defence and with Serge Aurier and Danny Rose both playing Aubameyang onside, the forward took his chance to drill the ball into the bottom corner from 12 yards out for his 16th goal in all competitions this season.
Spurs head coach Mauricio Pochettino demanded a response from his side and the Argentine almost got one when Christian Eriksen sent a first-time effort towards goal from 12 yards, but Burki made a fine block to deny the Dane.
From the resulting corner, Eric Dier sent a header towards the far corner of the net but Burki somehow stuck out a hand to claw the ball away from goal, although the visitors had finished the first half well on top.
After the restart, Spurs required just four minutes to get back on level terms through Kane, who received a pass from Dele Alli before lashing the ball into the bottom corner from around 16 yards out.
The equaliser surprised Dortmund and the home side became increasingly ragged at the back as Spurs went looking for the goal which would mean that Real would only progress as runners-up.
Alli's long-range effort was never going to trouble Burki, while Spurs almost failed to make the most of mistakes which were beginning to be made in Dortmund's defensive third.
However, with a defeat and a draw effectively having no benefit to the English side, Pochettino began to leave Son up front alongside Kane, and it was a risk that paid off with just under quarter of an hour remaining.
Alli again provided the assist after winning the ball on the touchline and advancing into the penalty area, but it was Son who provided the finishing touch with a superb strike into the top corner from 16 yards out.
Pochettino soon set about tightening things up at the back, but that move allowed Dortmund to show more ambition during the closing stages and Raphael Guerreiro would have expected to do better with a volley from the left-hand side of the penalty area.
That proved to be Dortmund's final chance and although Fernando Llorente squandered a late opening for Spurs, the visitors comfortably held on to give Pochettino the chance to rotate his squad for the final group game with APOEL.