Rangers produced one of their greatest European performances to beat RB Leipzig 3-1 on Thursday to reach the Europa League final 3-2 on aggregate.
James Tavernier and Glen Kamara turned the tie around inside the first 24 minutes at an emotionally charged Ibrox as players and fans united to pay tribute to long-serving kitman Jimmy Bell, who died on Tuesday.
Christopher Nkunku hit back for Leipzig in the second half, but John Lundstram scored the winner nine minutes from time.
Giovanni van Bronckhorst’s men will face Eintracht Frankfurt in the final in Seville on May 18 in just their second European final in 50 years.
The Scottish champions lost to Zenit St Petersburg in the UEFA Cup final of 2008, but have had to start again from the fourth tier following a financial collapse in 2012.
Last season they ended Celtic’s run of nine league titles in a row and will return to the Champions League for the first time since 2010 with victory over Frankfurt at the Ramon Sanchez Pizjuan in 13 days’ time.
Leipzig’s 1-0 advantage from the first leg was blown away early on in front of a cacophonous noise.
Right-back Tavernier moved outright as the top scorer in the competition with seven goals, all of which have come in the knockout phase, when he timed his run to perfection to turn in Ryan Kent’s cross.
Kamara then guided a wonderful finish low into the far corner from outside the box and kissed his black armband in tribute to Bell.
Joe Aribo should have made it three within half an hour when he missed his kick from point-blank range.
Leipzig lost just once in 19 games between January and April, but have now been beaten in three of their last four to put their chances of Champions League football next season hanging in the balance.
The Germans enjoyed the majority of the ball in the second half and were back on level terms in the tie when Nkunku steered home his 32nd goal of the season from Angelino’s cross.
Rangers then had to dig deep just to keep Leipzig at bay, but they found the winner late on.
Kent’s cross to the back post caused panic in the Leipzig defence and the loose ball broke to Lundstram to stroke into an unguarded net and spark wild scenes of celebration.