A flurry of goals either side of half-time allowed Giovanni van Bronckhorst's side to pull off a surprising first-leg victory.
Article top media content
Rangers became the first Scottish side to beat Dortmund in Germany after a flurry of goals either side of half-time left them in command of their UEFA Europa League knockout round play-off tie.
38' Tavernier finishes from spot after Zagadou handball
41' Morelos bundles in Rangers' second following a corner
49' Lundstram beats Kobel from the edge of the box
51' Bellingham pulls one back as Dortmund finally rally
54' Morelos's deflected shot makes it 4-1
82' Guerreiro restores hope with a fine finish from range
Match in brief: Rangers punish ragged Dortmund
With Erling Haaland out injured for the hosts, Dortmund did not look at their sharpest, and James Tavernier put the Light Blues in front from the penalty spot on 38 minutes after Dan-Axel Zagadou was penalised for handling. Within three minutes, Joe Aribo turned Tavernier's corner into the path of Alfredo Morelos, who made it 2-0.
Dortmund's Jude Bellingham responded in kind after John Lundstram scored from the edge of the box soon after the restart, but Marco Rose's men went further behind on 54 minutes when the luckless Zagadou diverted Morelos's angled effort into his own net. It would have got even worse for BVB had Aribo's shot crept inside the post soon after, but as it was Raphaël Guerreiro had the last word, firing in a fine effort from long range on 82 minutes to reduce Dortmund's deficit.
James Thorogood, Dortmund reporter
This defeat will revive memories of a 5-2 Bundesliga home loss to Leverkusen on 6 February. There has been grumbling over some disappointing European performances this season, including the ones against Ajax (twice) and Sporting CP in the UEFA Champions League group stage. Dortmund remain a talented group of individuals but lacked cohesion here.
Alex O'Henley, Rangers reporter
An incredible result for Rangers, who become the first Scottish side to win at the home of Borussia Dortmund. Never in their wildest dreams would the 500 travelling fans have thought their side would score four goals here. If Dortmund are this untidy next week at Ibrox, the Light Blues will reach the last 16 with goals to spare.
Mats Hummels, Dortmund defender: "If you look at the [5-2 home defeat against Leverkusen on 6 February], we conceded four goals after losing the ball unnecessarily. That happened with the first, second and fourth goals here. I think we know what our problem is. The coach mentions it often enough. We're playing an awful lot of silly football, a lot of illogical football and making our opponents so strong."
Giovanni van Bronckhorst, Rangers manager: "We watched a lot of games of Dortmund and we knew they were getting a lot of goals against them lately. We were prepared technically, but more important mentally. We had the right attitude today to getting a good result. We are as one and we represent this beautiful club and we have to make sure we make our fans proud of the performances we put in and I think today we have done it."
James Tavernier, Rangers captain, speaking to BT Sport: "I thought we controlled things in the best way we could. We limited them and were really effective on the break. We got the goals and all the boys were performing really well. We've been working hard on set pieces and that came through for us today."
• Dortmund were unbeaten in seven home games against Scottish sides (including four against Rangers) prior to this match.
• Rangers have lost only one of their last 18 matches in all competitions (W14 D3 L1).
• Rangers' 40-year-old goalkeeper Allan McGregor made his 100th UEFA club competition appearance; all but four of those games were for the Gers.
Dortmund: Kobel; Akanji (Schulz 55), Hummels, Zagadou, Guerreiro; Dahoud, Witsel (Reyna 46); Brandt (Moukoko 46), Reus (Reinier 82), Bellingham; Malen (Tigges 68)
Rangers: McGregor; Tavernier, Goldson, Bassey, Barišić; Jack (Kamara 86), Lundstram; Kent, Arfield (Sands 66), Aribo (Ramsey 86); Morelos (Wright 90+5)