Rangers moved to within five points of Scottish Premiership leaders Celtic with a comfortable comeback win over Dundee despite playing the second half with 10 men.
Amadou Bakayoko's early close-range finish was cancelled out within 15 minutes by a stunning Cyriel Dessers strike.
A James Tavernier penalty and a thundering Abdallah Sima header had Rangers comfortable before Jose Cifuentes was sent off for a stamp.
The packed Ibrox stands endured some nervous moments after the break, but seventh-placed Dundee rarely looked like avoiding a 16th consecutive defeat at Ibrox.
It means Rangers head into their Europa League decider against Real Betis, then the Viaplay Cup final against Aberdeen, on the back of 13 unbeaten games, 12 under new manager Philippe Clement.The latest Rangers newsKeep up to date with Dundee
Clement had rested stalwart centre-back Conor Goldson and emerging winger Ryan McCausland as he said it would be up to others to judge whether or not he was right to make three changes over and above the two forced by injuries.
It looked like he might have to justify his decision when a superb low dive from Jack Butland denied Lyall Cameron and, from the resulting corner, the ball fell to Bakayoko for the striker to coolly slot past the Rangers goalkeeper.
The threat of a first Dundee win at Ibrox since 2001 was, however, quickly extinguished.
Much-maligned striker Dessers had been handed a start and responded with a clinical strike before Tavernier slotted another penalty after Aaron Donnelly had pulled Sima's shirt.
Luke McCowan missed a good chance to draw Dundee level before Sima bulleted home a Tavernier corner for the on-loan Brighton & Hove Albion forward's fourth goal in three games.
Dundee's Joe Shaughnessy and Rangers' Todd Cantwell both had goals ruled out for fouls in the build-up and an action-packed first half closed with Cifuentes being sent off for a stamp on Bakayoko.
Cameron was denied by a last-ditch challenge as Dundee failed to make their man advantage tell, while substitute Dujon Sterling was denied a fourth goal for the hosts by the face of the far post.
Player of the match - Abdallah Sima (Rangers)Abdallah Sima remains Rangers' most potent force, the forward winning a penalty, scoring his side's third goal and tracking back effectively at times of danger
Clement gamble pays off; stats depressing for Dundee - analysis
Before kick-off, Clement lamented the loss through injury of Danilo and Tom Lawrence as it further limits his ability to rest players during a busy schedule of 12 games in 37 days.
The Belgian nevertheless took the gamble of giving Goldson a rare rest and, despite moments of frailty and the self-inflicted wound of a red card, he can breathe easy.
Excluding penalties, Dundee had gone into the game having scored nine goals from set-pieces in the Premiership this season - three more than any other side - and it again proved to be an Achilles heel for Rangers.
Despite continuing the worrying trend of conceding first, Clement's Rangers have averaged more points per game than any side in the Premiership since his first top-flight match in charge in October.
Having been thumped 5-0 in the reverse fixture at Dens Park, this was always going to be an uphill battle for Dundee even if they did arrive unbeaten in three away from home.
They have now lost eight in a row against Rangers - an aggregate of 22-2 - and manager Tony Docherty will be telling his players to quickly move on to more winnable games.
What they said
Rangers manager Philippe Clement: "Whoever is playing, whoever comes in, everybody's working hard for the team. More and more players are competing - we're going to need everybody on Thursday, on Sunday and the weeks after.
"It's a deserved victory. Even with 10, we were the team that created the best chances in the second half. The team is growing to become a team, to have the right mentality, to do the right things together."
Dundee manager Tony Docherty: "I have sympathy for Kevin Clancy. He no choice to give the penalty after the image he was shown on the VAR screen, but I think the two players had a hold of one another.
"Disappointment is the over-riding feeling. We started the game well, we gained territory. They then equalise - I think it was an unforced error from us, but the game turns when Rangers get awarded a penalty and I think we could have done a bit more in the second half."
Rangers conclude the Europa League group stage away to Real Betis on Thursday (20:00 GMT) before facing Aberdeen in the Viaplay Cup final on 17 December, while Dundee travel to face Ross County on Saturday (15:00).
Formation 4-2-3-11Butland2Tavernier5Souttar27Balogun31BarisicBooked at 59mins15CifuentesBooked at 45mins4LundstramSubstituted forKingat 89'minutes17MatondoSubstituted forMcCauslandat 45'minutes13CantwellSubstituted forSterlingat 45'minutes19Sima9DessersSubstituted forRoofeat 72'minutes
Formation 3-5-231Carson29PortalesSubstituted forKerrat 26'minutes5Shaughnessy12LamieBooked at 90mins6McGheeBooked at 76mins10Cameron23Boateng17McCowanBooked at 90mins25DonnellySubstituted forTiffoneyat 51'minutes9BakayokoSubstituted forRobinsonat 69'minutes20RuddenSubstituted forReillyat 51'minutes
Match ends, Rangers 3, Dundee 1.
Second Half ends, Rangers 3, Dundee 1.
Attempt missed. Kemar Roofe (Rangers) right footed shot from the centre of the box is too high. Assisted by Dujon Sterling.
Luke McCowan (Dundee) is shown the yellow card for a bad foul.
Borna Barisic (Rangers) wins a free kick in the defensive half.
Foul by Luke McCowan (Dundee).
Attempt blocked. Charlie Reilly (Dundee) right footed shot from outside the box is blocked. Assisted by Lyall Cameron.
Corner, Dundee. Conceded by Abdallah Sima.
Attempt missed. Abdallah Sima (Rangers) right footed shot from the centre of the box is too high.
Dujon Sterling (Rangers) hits the right post with a right footed shot from outside the box. Assisted by Borna Barisic.
Ricki Lamie (Dundee) is shown the yellow card for a bad foul.
Kemar Roofe (Rangers) wins a free kick in the defensive half.
Foul by Ricki Lamie (Dundee).
Substitution, Rangers. Leon King replaces John Lundstram.
Foul by John Lundstram (Rangers).
Luke McCowan (Dundee) wins a free kick on the right wing.
Foul by John Lundstram (Rangers).
Luke McCowan (Dundee) wins a free kick in the attacking half.
Foul by Dujon Sterling (Rangers).
Lyall Cameron (Dundee) wins a free kick in the defensive half.
Player of the match
with an average of 7.21
Squad number19Player nameSima
Squad number1Player nameButland
Squad number45Player nameMcCausland
Squad number2Player nameTavernier
Squad number4Player nameLundstram
Squad number27Player nameBalogun
Squad number9Player nameDessers
Squad number21Player nameSterling
Squad number13Player nameCantwell
Squad number31Player nameBarisic
Squad number5Player nameSouttar
Squad number25Player nameRoofe
Squad number38Player nameKing
Squad number17Player nameMatondo
Squad number15Player nameCifuentes
Squad number10Player nameCameron
Squad number9Player nameBakayoko
Squad number31Player nameCarson
Squad number23Player nameBoateng
Squad number5Player nameShaughnessy
Squad number17Player nameMcCowan
Squad number29Player namePortales
Squad number18Player nameReilly
Squad number20Player nameRudden
Squad number7Player nameTiffoney
Squad number12Player nameLamie
Squad number6Player nameMcGhee
Squad number25Player nameDonnelly
Squad number2Player nameKerr
Squad number16Player nameRobinson