Rangers completed one of their greatest European triumphs after dumping German giants Borussia Dortmund out of the Europa League in an epic 10-goal tie.
As he did in last week's 4-2 first-leg win, James Tavernier opened the scoring from the spot to set Ibrox rocking.
But Jude Bellingham slotted his second goal of the tie before Donyell Malen gave Dortmund the lead on the night.
However, Tavernier's back-post finish restored Rangers' two-goal aggregate advantage, sealing a last-16 place.
The Scottish side were controversially denied a more comfortable end to the tie when Ryan Kent's goal was harshly disallowed after a VAR review.
But the Ibrox club withstood late pressure with a raucous home crowd behind them to book their place in the Europa League's last 16 for the third successive season.
And the incredible performance and swashbuckling endeavour shown to down Dortmund will give Giovanni van Bronckhorst's men plenty of belief going into Friday's draw.
The omens were in favour of Rangers pre-match. Before Thursday's second leg, only one side in the history of the Europa League had failed to go through in a knockout tie after winning an away leg by two or more goals.
Factor in the continued absence of superstar striker Erling Haaland for the visitors, things were looking positive for Van Bronckhorst's men as they took to the turf at a fever-pitch Ibrox.
Dortmund, on their first visit to Scotland in over two decades, were off the back of thrashing Borussia Monchengladbach 6-0 at the weekend - a clear indication of their attacking potency, even without their talisman.
But Rangers, as they did last Thursday, started on the front foot with a bubbling home crowd behind them and passed up the game's first chance when Tavernier's deep free-kick was headed over by Alfredo Morelos.
That noise was momentarily muted to pin-drop silence when Nico Schulz's corner was diverted onto the back post by Bellingham.
That Dortmund chance seemed to spook Rangers, who struggled to get up the pitch and maintain possession against a slick visiting side, as Malen rifled a strike from outside the area past Allan McGregor's right-hand post.
But against the run of play, Kent - who was a thorn in the side of the Dortmund defence a week ago - jinked into the box before being tripped by Julian Brandt's lazy leg.
There was a sense of deja vu when Tavernier, who opened the scoring from the spot in Dortmund, stepped up to take the penalty with the score at 0-0, and the Rangers captain kept his cool again to slot the ball straight down the middle.
Ibrox was bouncing, but Brandt had an immediate opportunity to rectify his penalty concession when he struck at goal from just inside the box, but McGregor was equal to the German international's effort.
Bellingham was on hand minutes later to show the composure Brandt was lacking, capitalising on Connor Goldson's failed clearance to slot away coolly down to McGregor's left - the teenager's second goal of the tie and the second time he provided his side with a lifeline.
Rangers' three-goal advantage was almost restored instantly when Scott Arfield broke into the Dortmund box and had a finish thwarted by Gregor Kobel. The rebound fell to Morelos, who leathered a first-time effort off Mats Hummels on the goal-line.
Rangers instead saw their lead reduced when Malen, who had a fierce strike tipped wide by McGregor moments earlier, poked in from close range after sketchy defending from the Ibrox backline.
The Dutch striker could have then levelled the tie on aggregate just before the break when he turned another near-post effort, this time from close range, wide of the target.
With Dortmund hitting their stride, Rangers needed the interval. And so it proved as Van Bronckhorst's men started the second period with more of a threat.
Kobel got down low to both sides to deny Morelos twice in succession, then another dose of bedlam.
Calvin Bassey powered his way up the left to cross into the box. World-Cup winner Hummels made a mess of cutting it out and Tavernier was there at the back post to punish, driving in his and Rangers' second of the night.
Last season's Scottish champions thought they had a second-leg lead when Morelos broke clear and laid Kent off to tap in the simplest of finishes, but a VAR review judged Morelos to have fouled Emre Can in the build-up when the Germany midfielder appeared to kick the Colombia striker's calf.
That moment could have proven to be a turning point in the tie, but Rangers remained firm and held off any late Dortmund pressure to see out a remarkable win that will be etched into Ibrox folklore.
Man of the match - James Tavernier
So often unfairly criticised when things don't go to plan, Tavernier delivered a true captain's performance and added two goals to his ridiculous goal tallyWhat did we learn?
Dare to dream, Rangers fans. Your side have just dumped out the tournament favourites, what next?
An extra two Europa League games, at least, will be painted by some as a negative as the Ibrox side aim to claw back a three-point gap on leaders Celtic.
But Van Bronckhorst must use this night, that will go down in club history, to fuel his players' drive to reclaim the Premiership crown.
Sunday's draw at Dundee United highlighted the unpredictable nature of the champions' season, but they have shown in spades they can deal with the tempo and quality of top-level opposition.
It is now about showing that on a consistent basis in the business end of the campaign.
What they said
Rangers manager Giovanni van Bronckhorst told BT Sport: "We trained with three different plans for today. We needed to have scenarios in place to be executed and I'm glad we did.
"We had a great performance, we played them twice and got four points, its a great performance. The last 16 is only top teams, we wait for them and we look forward to the draw."
What's next?
Rangers return to Premiership duty on Sunday (15:00 GMT) as they welcome Motherwell to Ibrox.
Player of the match
KentRyan Kent
Rangers
Squad number14Player nameKent
Squad number2Player nameTavernier
Squad number20Player nameMorelos
Squad number3Player nameBassey
Squad number26Player nameBalogun
Squad number8Player nameJack
Squad number1Player nameMcGregor
Squad number17Player nameAyodele-Aribo
Squad number4Player nameLundstram
Squad number37Player nameArfield
Squad number6Player nameGoldson
Squad number18Player nameKamara
Squad number31Player nameBarisic
Borussia Dortmund
Squad number22Player nameBellingham
Squad number21Player nameMalen
Squad number18Player nameMoukoko
Squad number11Player nameReus
Squad number8Player nameDahoud
Squad number10Player nameT Hazard
Squad number19Player nameBrandt
Squad number14Player nameSchulz
Squad number20Player nameReinier
Squad number1Player nameKobel
Squad number24Player nameMeunier
Squad number23Player nameCan
Squad number28Player nameWitsel
Squad number27Player nameTigges
Squad number39Player nameWolf
Squad number15Player nameHummels
Line-ups
Rangers
Formation 4-2-3-1
1McGregor
2Tavernier6Goldson3Bassey31Barisic
8Jack4Lundstram
37Arfield17Ayodele-Aribo14Kent
20Morelos
1McGregor2Tavernier6Goldson3Bassey31BarisicSubstituted forBalogunat 45'minutes8Jack4LundstramBooked at 39mins37ArfieldSubstituted forKamaraat 69'minutes17Ayodele-Aribo14Kent20MorelosSubstitutes
9Diallo10Davis18Kamara19Sands23Wright25Roofe26Balogun28McCrorie30Sakala33McLaughlin43King51LowryB Dortmund
Formation 4-2-3-1
1Kobel
24Meunier23Can15Hummels14Schulz
8Dahoud22Bellingham
19Brandt11Reus10T Hazard
21Malen
1Kobel24MeunierSubstituted forWolfat 45'minutes23CanBooked at 67mins15Hummels14SchulzBooked at 55mins8Dahoud22BellinghamBooked at 51mins19BrandtSubstituted forMoukokoat 69'minutes11ReusSubstituted forWitselat 86'minutes10T HazardSubstituted forCarvalhoat 69'minutes21MalenSubstituted forTiggesat 77'minutesSubstitutes
13Guerreiro18Moukoko20Carvalho25Unbehaun27Tigges28Witsel30Passlack34Pongracic35Hitz39WolfReferee:Antonio Miguel Mateu LahozLive Text
Match ends, Rangers 2, Borussia Dortmund 2.
Second Half ends, Rangers 2, Borussia Dortmund 2.
Mahmoud Dahoud (Borussia Dortmund) wins a free kick in the attacking half.
Foul by Ryan Jack (Rangers).
Attempt saved. Ryan Kent (Rangers) left footed shot from outside the box is saved in the centre of the goal. Assisted by Joe Ayodele-Aribo.
Offside, Borussia Dortmund. Emre Can tries a through ball, but Reinier is caught offside.
Axel Witsel (Borussia Dortmund) wins a free kick in the defensive half.
Foul by Alfredo Morelos (Rangers).
Hand ball by Marius Wolf (Borussia Dortmund).
Substitution, Borussia Dortmund. Axel Witsel replaces Marco Reus because of an injury.
Foul by Steffen Tigges (Borussia Dortmund).
Calvin Bassey (Rangers) wins a free kick in the defensive half.
Corner, Borussia Dortmund. Conceded by Calvin Bassey.
Attempt missed. Youssoufa Moukoko (Borussia Dortmund) header from the centre of the box is too high. Assisted by Steffen Tigges with a cross.
Corner, Rangers. Conceded by Marius Wolf.
Foul by Mahmoud Dahoud (Borussia Dortmund).
Glen Kamara (Rangers) wins a free kick in the attacking half.
Foul by Reinier (Borussia Dortmund).
Calvin Bassey (Rangers) wins a free kick on the left wing.
Substitution, Borussia Dortmund. Steffen Tigges replaces Donyell Malen.