Rangers through to set up Leipzig semi-final
Kemar Roofe scored an extra-time winner as Rangers secured its place in the UEFA Europa League semi-finals with a 3-1 victory over nine-man Braga, which 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 Friday (AEST), with the first leg of its last-four clash coming on 29 April (AEST).
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 after Aribo's flick from a Tavernier corner as Rangers continued to dominate, and its 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's corner.
Conor Goldson nodded wide in the closing stages before extra-time, where Roofe latched on to 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.
Rangers returns to domestic action with an Old Firm clash against Celtic in the Scottish Cup semi-finals on Sunday.