Rangers produced an excellent performance to beat Borussia Dortmund 4-2 away and give themselves a good chance of progressing in the Europa League.
James Tavernier put Rangers ahead from the penalty spot following a handball from Dan-Axel Zagadou, with Alfredo Morelos doubling his side's lead as he steered home from close range.
Early in the second half John Lundstram scored an excellent goal for Rangers from just outside the area but Jude Bellingham responded with a fine strike of his own for Dortmund.
Zagadou then scored an own goal before Raphael Guerreiro's well-struck effort reduced the deficit for Dortmund.
MORE: Why is West Ham not playing in the Europa League today?
Dortmund vs. Rangers result
Dortmund 2
Rangers 4
Dortmund vs. Rangers as-it-happened
Full time: Borussia Dortmund 2 Rangers 4. The tie isn't over but that is an excellent and memorable result for Rangers. Tavernier opened the scoring from the penalty spot before Morelos made it 2-0. Lundstram added a third, with Bellingham then getting a goal back for Dortmund. an own goal from Zagadou made it 4-1 to Rangers before Guerreiro got a second for the hosts.
90 + 5 mins: Hummels volleys over.
90 + 5 mins: A late change for Rangers as Wright comes on for Morelos.
90 + 3 mins: Bellingham tries his luck but his effort goes well over.
90 mins: We are into five added minutes.
86 mins: Hummels makes a good challenge for Dortmund.
85 mins: A double change for Rangers, who send on Aaron Ramsey and Glen Kamara for Aribo and Jack.
82 mins: Dortmund bring on Reinier for Reus.
81 mins: GOAL - There have been some excellent goals in this game and there's another one, with Guerreiro reducing the deficit for Dortmund with a curled effort from outside the box.
78 mins: McGregor is booked for taking too long over a goal kick.
76 mins: Guerreiro plays in Schulz, but the latter lacked composure in front of goal.
73 mins: Barisic's free-kick goes straight into the wall.
72 mins: Zagadou is booked for a late challenge on Kent just outside the area.
69 mins: Rangers goalkeeper McGregor hurt himself in a collision with Tigges.
67 mins: Dortmund make another switch as Tigges comes on for Malen.
66 mins: Rangers send on Sands for Arfield.
65 mins: Aribo looks to add a fifth for Rangers but it's off target.
55 mins: Dortmund have brought on Schulz for Akanji.
53 mins: GOAL - Morelos has the ball in the net again. The flag was raised for offside but following a VAR check the goal is allowed to stand. Rangers, incredibly, now lead 4-1 against Dortmund.
52 mins: Bellingham plays in Malen, who felt that he was fouled in the area, but play is waved on.
50 mins: GOAL - Dortmund respond almost immediately with a neat finish from Jude Bellingham from just outside the area.
48 mins: GOAL - What a superb strike from Lundstram, who receives the ball from Kent and finishes emphatically. 3-0 to Rangers.
JOHN LUNDSTRAM FINDS RANGERS THIRD IN STYLE 🚀 pic.twitter.com/nidR4Xtu9M
— CBS Sports Golazo ⚽️ (@CBSSportsGolazo) February 17, 2022
46 mins: The second half is underway.
Dortmund are making a double change ahead of the second half with Reyna and Moukoko coming on for Witsel and Brandt.
Half time: Ryan Jack has been particularly impressive for Rangers. Will Van Bronckhorst's side be able to keep it up in the second half?
James Tavernier gives Rangers the lead over Dortmund. 👀 pic.twitter.com/iIQl8LDJs5
— CBS Sports Golazo ⚽️ (@CBSSportsGolazo) February 17, 2022
Half time: It has been an excellent half from Rangers, who lead 2-0 courtesy of goals from Tavernier and Morelos.
43 mins: Guerreiro goes for goal but ends up hitting his own player, Akanji.
40 mins: GOAL - Incredible for Rangers, with Morelos steering home from close range to make it 2-0 after latching onto an Aribo flick on following a corner.
39 mins: Rangers immediately go in search of a second goal, with Morelos winning a corner.
38 mins: GOAL - James Tavernier puts Rangers ahead with a well-taken penalty. What a moment for Rangers.
37 mins: A penalty is given to Rangers after a handball by Zagadou.
36 mins: VAR is checking a potential handball against Dortmund.
35 mins: Hummels makes an intelligent interception to cut out the danger as Tavernier looks to play the ball in. Shortly afterwards Hummels is alert again to make a block to deny Morelos.
32 mins: Reus goes for goal with a back-heel from a difficult angle but Barisic manages to clear at the second attempt.
28 mins: It has been a tough battle so far, but Rangers have put in a lot of effort and have tried their utmost to limit Dortmund's threat.
26 mins: Bellingham sends the ball across the face of goal but Reus can't quite connect with it.
18 mins: Dortmund are now in control in terms of dominating possession.
14 mins: Dortmund swing in a corner and Zagadou's header is saved.
9 mins: Kent plays in Barisic, who sees his effort saved by Kobel.
5 mins: Rangers are closing Dortmund down at every opportunity but haven't been able to create a clear-cut chance yet.
2nd min: Tavernier plays the ball in towards Arfield, but the latter can't quite control it properly.
1st min: The game is underway.
1:38pm: The absence of star striker Erling Haaland is certainly a major blow for Dortmund, but they still possess plenty of quality and an array of players who are capable of causing problems for Rangers.
1.34pm:
🚨 BVB STARTING XI VS. RANGERS FC 🚨 pic.twitter.com/7EOnYNeEAG
— Borussia Dortmund (@BlackYellow) February 17, 2022
Borussia Dortmund team: Kobel, Akanji, Hummels, Zagadou, Guerreiro, Dahoud, Witsel, Brandt, Reus, Bellingham, Malen.
Subs: Reyna, Hazard, Schulz, Moukoko, Carvalho, Unbehaun, Tigges, Passlack, Pongracic, Hitz.
👉 Tonight's #RangersFC team to face @BVB in the @EuropaLeague.
— Rangers Football Club (@RangersFC) February 17, 2022
🗒️ Full Team News: https://t.co/cNxkSLZiHr pic.twitter.com/a9JWD74hu1
Rangers team: McGregor, Tavernier, Goldson, Bassey, Barisic, Jack, Lundstram, Kent, Arfield, Aribo, Morelos.
Subs: Diallo, Davis, Ramsey, Kamara, Sands, Wright, McCrorie, King, Hogarth.
12:30pm: Welcome to our live coverage of the Europa League clash between Borussia Dortmund and Rangers.
Dortmund striker Erling Haaland will reportedly miss the game but it will still be an excellent opportunity for Rangers to test themselves against high-profile opposition.
There will only be 10,000 fans in attendance at the Westfalenstadion because of Covid restrictions.
All Times Eastern