Rangers have reached the Europa League final after beating RB Leipzig in the second leg of the semi-final at Ibrox.
Goals from James Tavernier, Glen Kamara and John Lundstram gave Rangers a 3-1 win at Ibrox, and a 3-2 aggregate win, to set up a date with Eintracht Frankfurt in the final in Seville.
It will be the first time since 2008 that a Scottish club has contested a European final.
Rangers had raced to a 2-0 lead on the night but Christopher Nkunku levelled the tie in the second half before Lundstram struck to send his side into the final.
The goal sparked wild celebrations on a night that had been filled with emotion for the club and its supporters. Before the teams had kicked off in Glasgow, a minute’s silence was observed for Rangers kitman Jimmy Bell, who died earlier this week.
The sides then picked up where they left off last week.
Rangers had the first shot on target when Jack tried his luck for distance after a dangerous ball into the box had only been half cleared.
But a mistake from the midfielder handed Leipzig their first opportunity, a misplaced pass leading to a corner for the German side. Dani Olmo’s ball in found Willi Orban and his header flashed wide.
Ibrox erupted in the 18th minute. Rangers broke down the left and Ryan kent took possession. The winger played a low ball across goal and Tavernier was on hand at the back post to fire into the back of the net.
Rangers were ahead on the night, level on the tie and Tavernier was now the competition’s top goalscorer.
Six minutes later, Rangers were ahead. Joe Aribo picked Scott Wright out in the box and he calmy knocked a pass back into the path of Kamara. The midfielder stroked a low shot into the bottom corner of the net and the volume in Ibrox doubled.
After Olmo had fired a shot over from distance with Leipzig pushing to get back in the game, Rangers passed up a chance to make it 3-0. Wright headed a deep cross back into the six yard box and Aribo seemed to have a simple task to score but failed to connect properly with a right foot shot.
In a game being played a breakneck pace, referee Artur Dias was playing his part and Rangers defenders Calvin Bassey, Connor Goldson and Borna Barisic all picked up yellow cards.
Rangers were dealt a blow just before half time when Aribo had to be subbed off, having gone to ground after taking a Leipzig free kick to the head. Fashion Sakala replaced the attacker.
Neither side made a change at the break and when the action resumed, Rangers were on the front foot again and Sakala had a half-chance with a header that went wide.
Leipzig were enjoying plenty of the ball and getting forward but the Bundesliga side hadn’t managed a shot on target.
Ryan Jack and Wright were replaced by Scott Arfield and Leon Balogun just before the hour mark, with Jack appearing to have suffered an ankle knock. Dominik Szoboszlai replaced Dani Olmo as Leipzig looked to shake things up.
The German side served warning of their danger in the 69th minute when Allan McGregor was called into action to save smartly when Konrad Laimer raced through on goal but moments later Leipzig had their goal.
Angelino swung a cross in from deep on the left and Nkunku hit a perfect first time finish past McGregor and into the top corner, momentarily silencing the Rangers support and levelling the tie.
With ten minutes to go, Rangers took the lead again. Kent crossed from the left and Leipzig had to scramble to clear from the back post, Lundstram pounced on the clearance, hitting a first time shot past Peter Gulacsi.
Three minutes of additional time were added, and Fashion Sakala had a chance when through on goal but the final whistle sounded and Rangers celebrated a memorable win and set up a huge finale to their season.