Rangers are into the Europa League semi-final after Kemar Roofe's extra-time winner settled a pulsating tie with Braga, who finished with nine men.
James Tavernier's early goal cancelled out the Portuguese side's first-leg lead, before he had Ibrox on its feet again with a first-half penalty moments after Vitor Tormena was sent off.
Rangers were utterly dominant, hitting the woodwork twice and having three strikes disallowed, but their profligacy was punished when David Carmo's header forced extra time.
However, a tie with Leipzig was sealed when Roofe knocked in from close range.
And as Ibrox rocked, Braga's hopes of another comeback wilted when Iuri Medeiros was booked and sent off for dissent for arguing over a yellow card.
Rangers will travel to Germany for the first leg on 28 April, with the Ibrox return the following Thursday, and the mouthwatering games come either side of the final Old Firm derby of the season at Celtic Park.
It is Rangers' first continental semi-final in 14 years, and a huge boost to Giovanni van Bronckhorst's men before Sunday's Scottish Cup semi-final with Premiership leaders Celtic at Hampden.
The prospect of a European final against English Premier League side West Ham remains alive, with David Moyes' men facing Eintracht Frankfurt in the other last-four tie.
In a month where Van Bronckhorst's side had been rocked by defeat to title rivals Celtic that left them trailing by six points, and by the first-leg loss in Portugal, they still stood on the cusp of history.
If Ibrox was loud at kick-off, just 70 second in the stadium's foundations were shuddering as the Scottish champions roared in front.
Borna Barisic's cross was touched on by Joe Aribo into the path of Tavernier, who broke free of the defence to slide the ball in at the back post.
Three minutes later and Rangers had the ball in the net again when Roofe met Barisic's cross with a precise header. This time the celebrations were cut short after a VAR check harshly penalised Barisic for handball in the build-up, but it didn't dampen Rangers' intensity as they continued to pour forward.
Tavernier was a whisker away from getting his head on to an Aribo cross to the back post. Roofe, fresh from a weekend hat-trick, shot wide moments later.
Aaron Ramsey fired over, then another teasing ball in from Barisic was met by both Tavernier and Aribo but neither could steer it on target.
There was no let-up. As the number of corners kicks rose, a delivery landed for Roofe in front of goal but he knocked off the underside of the bar. Minutes later Aribo nudged another corner invitingly towards the back post but there were no takers, then Kent headed into the hands of goalkeeper Matheus.
The pressure was immense. And four minutes before the break Rangers were in control of the tie.
Roofe got on to a long ball and ahead of defender Tormena, who bundled into the striker's back. The Brazilian was sent off, while Tavernier kept a cool head to send the penalty down the middle.
It was as near to perfect a 45 minutes as Rangers could get. They had turned the tie in their favour and now had a man advantage.
Another goal would finish it. Aribo sliced side when perhaps a pass to Kent was the better option. Shortly afterwards, Kent turned his marker and picked out Roofe whose header was blocked. Connor Goldson rattled the outside of a post.
Braga just couldn't defend against Barisic's wand of a left foot. Another cross met the head of Aaron Ramsey but he couldn't keep his header down.
Roofe's joy was short lived again when he broke free of the defence and chipped into the net, but was adjudged marginally offside. Ramsey would also bundle the ball into the net but be pulled up for a foul on the goalkeeper.
And, without a third goal Rangers' lead remained fragile. And with Braga's first real chance they levelled seven minutes from time as Carmo bulleted a header into the net from a corner.
That took the wind out of Rangers' sails. Goldson headed wide in the final seconds of the 90, but into extra time it went.
Rangers had expended an enormous amount of energy, and they looked tired. But after having two goals disallowed, Roofe was to be the hero.
Glen Kamara picked out Aribo, who drilled the ball across goal for the striker to knock in and send the crowd into delirium.
It should have been four when Scott Arfield was teed up in the box but he fluffed his shot, then powered an effort off the crossbar when a rebound had fallen into his path.
Those misses kept the game alive. Braga's bench screamed for a penalty when Richard Horta fell to the deck under Glen Kamara's challenge.
In the end, though, Rangers deservedly kept their European dreams alive.
Man of the match - Joe Aribo
Joe Aribo provided the assist for the first and third goals in a terrific showing from the Rangers midfielderWhat did we learn?
It is the green half of Glasgow who have been more confident in the build-up to Sunday's Scottish Cup showdown. Yet this night might just be the catalyst that has Rangers believing again.
They went for Braga early and often. Such was Rangers' dominance that the Portuguese had not mustered a shot on target after an hour.
The Ibrox men switched off for a moment and were punished by Carmo's goal, and it was just about the only blot on their copybook in the 120 minutes.
Heartening also for Rangers is that even without the injured Alfredo Morelos, in Roofe they have found a more than capable striker able to lead the line on the big stage.
What did they say?
Rangers manager Giovanni van Bronckhorst told BT Sport: "It's a big night and a big result for us.
"It was a game that was up and down, 10 men, nine men, goals disallowed, it was quite hectic but at the end of the day we are through to the semis.
"I'm very proud. To reach the last four in Europe is a major achievement for everyone. We worked hard for it.
Rangers striker Kemar Roofe: "It's unbelievable, it means so much to everybody here. It's a special night.
"I had two disallowed, one off the crossbar, I thought it was going to be of those nights for me.
"The fans demand it so we have to produce it. It'll probably all sink in at the end of the season."
What the stats say
●Rangers have reached the semi-finals of a major European competition for the first time since 2007-08, when they ultimately finished as runners-up in the UEFA Cup.
●Braga have lost all four of their away matches in Europe against Scottish teams, with the most recent two defeats both coming against Rangers (also in the Last 32 of this competition in 2019-20).
●Rangers have scored two+ goals in five consecutive home matches in major European competition for the first time since a run of seven games ending in November 1984.
●Braga have been eliminated from a two-legged UEFA European knockout tie after winning the first leg for the first time, having progressed in each of the previous 10 instances.
●Vítor Tormena's red card was Braga's fifth in the first half of UEFA Europa League matches, the most of any side; five of their eight red cards in the competition have come before half-time. Owing to their second red card in extra-time, Braga became the first side to have two players sent off in UEFA Europa League knockout stage match since Rangers in the Last 16 last season against Slavia Prague.
●James Tavernier has scored six goals in the UEFA Europa League this season for Rangers, the joint-most by a Rangers player in a single season in major European competition (excluding qualifiers), along with Alfredo Morelos (2019-20) and James Forrest (1964-65).
●James Tavernier's opening goal after 69 seconds was the earliest goal Rangers have ever scored in the UEFA Europa League as well as the earliest that Braga have ever conceded in the competition.
What's next?
Rangers face Old Firm rivals Celtic in Sunday's Scottish Cup semi-final at Hampden (14:00 BST), and they will take on German Bundesliga side RB Leipzig in the last four of the Europa League on 28 April and 5 May.
Choose your starting XI. It's up to you how to approach it - you could go for the team you WANT the manager to pick or the one you THINK he will.
Select formationConfirm team
Line-ups
Rangers
Formation 4-2-3-1
1McGregor
2Tavernier6Goldson3Bassey31Barisic
8Jack4Lundstram
16Ramsey17Ayodele-Aribo14Kent
25Roofe
1McGregor2Tavernier6Goldson3Bassey31BarisicSubstituted forBalogunat 90+1'minutes8JackSubstituted forKamaraat 80'minutes4Lundstram16RamseySubstituted forWrightat 80'minutes17Ayodele-AriboSubstituted forSakalaat 105'minutes14Kent25RoofeBooked at 85minsSubstituted forArfieldat 105'minutesSubstitutes
9Diallo10Davis18Kamara19Sands23Wright26Balogun28McCrorie30Sakala33McLaughlin37Arfield43King51LowrySporting Braga
Formation 3-5-2
1Lima Magalhães
15Rodrigues de Oliveira16Veiga Teixeira Carmo3Tormena de Farias
70de Souza Silva88de Castro Pereira8Al Musrati10Luz Horta57Martins Gomes
9Ruiz21da Luz Horta
1Lima Magalhães15Rodrigues de Oliveira16Veiga Teixeira CarmoSubstituted forMariano Faléat 118'minutes3Tormena de FariasBooked at 42mins70de Souza Silva88de Castro PereiraSubstituted forGorbyat 105'minutes8Al MusratiSubstituted forda Silva Izidoroat 100'minutes10Luz HortaBooked at 97minsSubstituted forSampaio de Mouraat 45'minutes57Martins GomesSubstituted forPicanço Medeirosat 61'minutesBooked at 105mins9RuizSubstituted forCarvalho Oliveiraat 61'minutes21da Luz HortaSubstitutes
2Couto4Monteiro Pinto Leite12de Sá25da Silva Izidoro45Picanço Medeiros50Ulineia Buta67Gorby74Sampaio de Moura79Duarte Couto86Ferreira Rodrigues96Mariano Falé99Carvalho OliveiraReferee:François LetexierLive Text
Match ends, Rangers 3, Sporting Braga 1.
Second Half Extra Time ends, Rangers 3, Sporting Braga 1.
James Tavernier (Rangers) wins a free kick on the right wing.
Foul by Ricardo Horta (Sporting Braga).
Ryan Kent (Rangers) wins a free kick in the attacking half.
Foul by Fabiano (Sporting Braga).
John Lundstram (Rangers) wins a free kick in the defensive half.
Foul by Lucas Mineiro (Sporting Braga).
Substitution, Sporting Braga. Miguel Falé replaces David Carmo.
Attempt blocked. Scott Arfield (Rangers) left footed shot from the centre of the box is blocked.
Glen Kamara (Rangers) wins a free kick in the defensive half.
Foul by Ricardo Horta (Sporting Braga).
Corner, Rangers. Conceded by Fabiano.
Attempt blocked. Fashion Sakala (Rangers) left footed shot from the left side of the box is blocked. Assisted by John Lundstram.
Scott Arfield (Rangers) hits the bar with a right footed shot from the centre of the box.
Attempt blocked. Fashion Sakala (Rangers) right footed shot from the right side of the box is blocked. Assisted by Scott Wright.
Attempt missed. Scott Arfield (Rangers) left footed shot from the centre of the box misses to the left. Assisted by Ryan Kent.
Offside, Sporting Braga. Paulo Oliveira tries a through ball, but Vítor Oliveira is caught offside.
Substitution, Rangers. Fashion Sakala replaces Joe Ayodele-Aribo.
Substitution, Rangers. Scott Arfield replaces Kemar Roofe.