Ryan Kent's goal punctured Red Star Belgrade's comeback hopes as Rangers reached the Europa League quarter-finals despite a 2-1 defeat in Serbia.
Red Star made inroads on Rangers' three-goal first-leg lead when Mirko Ivanic netted in the 10th minute and Allan McGregor made several excellent stops for the visitors.
However, Kent broke through to level the score on the night in the 56th minute in what proved the key moment of the second leg.
Rangers looked to be seeing the game out comfortably when Ben Nabouhane netted a stoppage-time penalty but it was too little, too late for the hosts as Gers won 4-2 on aggregate.
Rangers manager Giovanni van Bronckhorst, whose side could face the likes of Barcelona, Braga and Atalanta in the last eight, went with the same starting line-up that won 3-0 at Ibrox seven days earlier, suggesting he saw scope for more goals.
The Serbian champions also went into the game with the knowledge that they could cause Rangers problems after having three goals disallowed for close offside decisions in Glasgow as well as hitting the bar and having a penalty saved by McGregor.
Alfredo Morelos had an ambitious effort saved for Rangers before Red Star got the early goal they craved.
The hosts worked a two-against-one from a short corner and the resulting cross bounced in the Rangers box before Ivanic had time to chest down and fire home.
The goalscorer soon had another good chance after Red Star cut through the heart of the Gers defence but McGregor made an excellent stop.
McGregor saved Ohi Omoijuanfo's header before Morelos was inches wide from a difficult chance.
Gers soon had a let-off midway through the half after Leon Balogun and Calvin Bassey got in each other's way from a long ball. Milan Pavkov scuffed his effort wide with only McGregor to beat.
McGregor was warned about time-wasting from the resulting goal-kick but Rangers settled down and Morelos had a weak shot saved when Kent looked to be in a better position.
McGregor kept Rangers two ahead with an excellent diving stop from Cristiano Piccini in the final minute of the half.
Rangers withstood some pressure early in the second half. McGregor had to look lively to stop a corner which bounced at his near post and soon made a more comfortable save from Ivanic.
Red Star had a great chance when Omoijuanfo held off Bassey and tried to set up Pavkov for an open goal but got the pass wrong. McGregor soon saved from Omoijuanfo before Rangers got the goal that settled matters.
Kent continued his run after passing to Glen Kamara on the halfway line and the Finland midfielder's flick sent the winger on his way. The chasing Piccini pulled his hamstring which gave Kent a free run to the box and his shot took a deflection and looped over the goalkeeper.
Ivanic missed a good chance and McGregor made another few saves but Rangers looked comfortable even after losing Morelos and John Lundstram to what looked minor injuries.
Substitute Kemar Roofe had a chance to put Rangers ahead but saw his shot saved at the near post.
Red Star were given a slight glimmer of hope when Kamara stretched at a loose ball in the box and caught Filippo Falco to allow Nabouhane to score.
There were some angry scenes after the game when some Red Star players appeared to take exception to Connor Goldson's celebrations but matters were calmed.
Barcelona came from behind after a goalless first leg to beat Galatasaray 2-1 in Istanbul.
Marcao gave the Turkish side a 28th-minute lead but Barca hit back with goals from Pedri and Pierre-Emerick Aubameyang either side of half-time.
Substitute Jeremie Boga struck in stoppage time as Atalanta snatched a 1-0 win at Bayer Leverkusen to reach the quarter-finals 4-2 on aggregate.
Leverkusen remained in contention throughout but failed to make the most of opportunities and paid the price when Boga clinched it with a fine effort late on.
Braga went through with a 3-1 aggregate victory over Monaco after a 1-1 draw in the principality.
Abel Ruiz tightened the Portuguese side's grip on the tie by scoring in the 20th minute before Axel Disasi scored a late Monaco consolation.
Lyon held on for a 1-1 draw against Porto to advance 2-1 on aggregate. Moussa Dembele doubled the French side's lead in the tie before Pepe responded.
Eintracht Frankfurt snatched a dramatic victory in injury time of extra time against Real Betis following an own goal by the visitors.
Betis' Guido Rodriguez got the unfortunate final touch as the German side grabbed a 1-1 draw at home to go through 3-2 on aggregate. Betis' Borja Iglesias had sent the match into extra time with a 90th-minute strike.