An open Champions League game saw both sides create plenty of chances but it was a Carlos Tevez-inspired Juventus which triumphed 2-1 in the first meeting of the two sides since the 1997 final won by Dortmund in Munich.
Marco Reus scored his third goal in three matches in the Champions League this season to hand Dortmund a precious away goal in the first leg of their last 16 tie away to Juventus on Tuesday.
A confident Juve had entered the game sitting nine points clear at the top of Serie A with only one defeat all season. Not only that, the Old Lady had scored 35 goals in winning 10 of 12 home games in the league at Juventus Stadium, and were unbeaten anywhere since October.
And true to their impressive home form, Juve were in front after only 13 minutes when Dortmund goalkeeper Roman Weidenfeller could only palm a shot from Alvaro Morata into the path of Carlos Tevez, who tapped in from two meters after escaping the attentions of Marcel Schmelzer.
Juventus center-backs slip up
For all their attacking prowess, however, Juve looked vulnerable at the back and it was Reus who seized on a mix-up between Giorgio Chiellini and Leonardo Bonucci to calmly stroke the ball past Gianluigi Buffon on 18 minutes.
Reus has been influential in the Dortmund revival in 2015, scoring in every game of their three-match winning streak in the league, and adding a fourth goal in as many games in Turin.
Both sides were forced into unscheduled substitutions before half-time. Lukasz Piszczek limped off for Dortmund and was replaced by Matthias Ginter after a scissor tackle from behind by Arturo Vidal which went unpunished by the referee. Then on 35 minutes Juve's veteran playmaker Andrea Pirlo also went off injured, removing the fulcrum from the home midfield.
Tevez on top form
Tevez and Morata were continuing to combine well up front for Juve, however, and on 42 minutes Morata side-footed home a cross after Tevez had fed Paul Pogba.
It was the home side which looked more like scoring in the second half, with Tevez creating the best chances.
On 70 minutes the Argentinean found room in a packed Dortmund box to fire off a shot which missed Weidenfeller's right-hand post by centimeters.
Then his 77th minute-shot was beaten away by Weidenfeller at his near post and from the resulting corner, Juve central defender Chiellini sent a powerful header just over the bar.
Jurgen Klopp had gambled in selecting Ciro Immobile for his first start since the home loss to Augsburg on February 4, but the ineffective Italian was withdrawn with a quarter of an hour remaining, to a chorus of boos from the fans of his first senior club.
But with the returning Mats Hummels marshalling the Dortmund back four the visitors' coach seemed happy to sit on the one-goal deficit.
Juventus though continued searching for another goal to ease their task at Signal Iduna Parkon March 18, and with only five minutes left on the clock, Roberto Pereyra escaped Matthias Ginter and sent a cross-shot agonisingly wide of the Dortmund goal.
It was the closest either side came to scoring in the closing stages, as the game ended 2-1 to set up an intriguing return leg in three weeks' time.