Kemar Roofe scored an extra-time winner as Rangers secured their place in the Europa League semi-finals with a 3-1 victory over nine-man Braga, who lost 3-2 on aggregate.
James Tavernier's first-half double, including a penalty awarded after Vitor Tormena was dismissed for a foul on Roofe, put Rangers in control with a 2-1 aggregate lead.
David Carmo's 83rd-minute header sent the tie into extra-time before Roofe, who had two goals disallowed, netted the decisive strike prior to Iuri Medeiros being given his marching orders.
Giovanni van Bronckhorst's men will next face RB Leipzig, who defeated Atalanta 3-1 on aggregate on Thursday, with the first leg of the last-four clash coming on April 28.
Rangers struck first when Tavernier rolled underneath Matheus at the back post after a deflection from Joe Aribo following Borna Barisic's cross.
The hosts were in dreamland three minutes later when Roofe headed home another delivery from Barisic, only for the goal to be ruled out for handball against the full-back.
Roofe then fired against the crossbar from point-blank range following Aribo's flick from a Tavernier corner as Rangers continued to dominate, and their reward arrived soon after.
Tormena was shown red for felling Roofe when through on goal, with Tavernier converting the penalty down the middle.
Roofe saw another strike ruled out in the second half, this time for offside, after chipping Matheus, before Carmo levelled with a powerful header from Medeiros' corner.
Conor Goldson nodded wide in the closing stages before extra-time, where Roofe latched onto Aribo's low cross to turn home from close range.
Medeiros was shown two yellow cards in quick succession for a foul on Leon Balogun and his subsequent riled reaction, before Scott Arfield hit the crossbar, but that miss did not come back to haunt Rangers.
What does it mean? Rangers overcome knockout specialists Braga
Braga had progressed from their previous nine ties in the UEFA Cup and Europa League when winning the first leg, with eight of those previous nine victories coming in home matches.
But Rangers ended that stellar record as they battled valiantly to overturn a first-leg deficit in Europe's secondary club competition for the third time in their last four attempts.
Now, Van Bronckhorst's men must overcome in-form Bundesliga side Leipzig to reach the final.
Terrific Tavernier
Tavernier offered Rangers the perfect start when he netted their fastest goal in the competition after just 71 seconds, and it was also the earliest Braga have conceded in the Europa League.
The hosts' captain then added his second from 12 yards as he became the joint-top scorer in this season's competition (six). No Rangers player has ever scored more in a single European campaign (also Alfredo Morelos in 2019-20 and James Forrest in 1964-65).
Vitor Tormen-ted
Tormena handed Rangers the perfect opportunity to take the aggregate lead by barging through the back of Roofe when he was one-on-one with Matheus.
Not only was the left-back given his early marching orders, but he also gave away possession the most times before his dismissal (eight) and was unsuccessful in all of his three duels.
Medeiros' red then made matters worse as Braga became the first side since Rangers last season to have two players sent off in the same knockout game in the competition.
What's next?
Rangers return to domestic action with an Old Firm clash against Celtic in the Scottish Cup semi-finals on Sunday, while Braga visit Estoril the following day.