A missed penalty from substitute Jason Cummings proved costly for Dundee as Joe Aribo earned Rangers a hard-fought 1-0 victory to keep them a point clear at the top of the cinch Premiership.
After Aribo's first-half opener, the champions needed Jon McLaughlin's second-half spot-kick save to keep them in front after the goalkeeper had brought down Paul McMullan.
Dundee manager James McPake was shown a red card at full-time for protesting the decision not to send McLaughlin off.
McPake made one change to the side that lost 2-0 to St Johnstone in the Premier Sports Cup on Wednesday as Ryan Sweeney replaced Paul McGowan. That meant Leigh Griffiths kept his place in attack despite being charged with "culpable and reckless conduct" on Friday after appearing to kick a flare into the stand housing the Saints fans.
Rangers made two changes to the side that started their 2-0 quarter-final win over Livingston in midweek, with captain James Tavernier and Ianis Hagi replacing Nathan Patterson and Scott Wright.
Dundee – searching for their first league win of the season – made an encouraging start when Paul McMullan surged through the Rangers defence straight from kick-off, but he was eventually closed off by Calvin Bassey on the edge of the box just as he looked set to get a shot away.
The visitors' first chance came in the eighth minute but Tavernier blazed over after a Bassey cross picked him out at the far post.
Dundee threatened a minute later when McMullan's corner fell to Griffiths a few yards out but the striker was unable to react quickly enough to direct the ball into the net.
At the other end, Kemar Roofe fired an angled shot on the turn just past the post from 15 yards out.
The hosts almost went ahead in the 14th minute but Jordan McGhee saw his close-range header from Liam Fontaine's cross grabbed at the second attempt by McLaughlin.
Rangers made the breakthrough in the 17th minute when Tavernier played a pass into Alfredo Morelos, who clipped a lovely ball in behind for Aribo and the midfielder steadied himself before curling a shot beyond Adam Legzdins from 12 yards out.
Dundee tried to respond and Griffiths saw a shot from the edge of the box well saved by McLaughlin. Seconds later, the on-loan Celtic striker had another good chance after being teed up by McGhee but his shot from 16 yards out lacked the power to trouble the goalkeeper.
Legzdins made a good save to stop Rangers doubling their lead in the 33rd minute when he palmed over a Roofe shot from the edge of box.
Dundee were forced into a change in the 39th minute when Griffiths – who was heckled relentlessly by the away support – had to go off injured and was replaced by Cummings.
The visitors went close in the 55th minute when John Lundstram saw a powerful 20-yard strike tipped behind by Legzdins.
Rangers had a major let-off in the 58th minute when McLaughlin brought down McMullan in the box as the Dundee attacker looked certain to score. A penalty was awarded and the goalkeeper controversially escaped with a yellow card before picking himself up to save Cummings' spot-kick.