Scott Arfield earned Rangers victory from the jaws of defeat with a late double against Aberdeen at Pittodrie.
Michael Beale took his squad to the north east in the hope of cutting the gap at the top of the Premiership with league leaders Celtic not playing until Wednesday.
And despite being 2-1 down going into injury-time they scored two in two stoppage time minutes to win 3-2 and decrease the nine point deficit to six.
Two spectacular goals from Aberdeen looked to have earned them the three-points after falling behind to an early Sakala goal, but a complete defensive collapse on the 95th and 97th minutes now means they fall 14 points behind Rangers in third.
Connor Goldson returned to the starting line-up after two months out and replaced John Lundstram in the only change from the 3-2 win over Hibs.
The home side meanwhile made two changes from their defeat to Ange Postecoglou’s men on Saturday when they were widely criticised for their backs to the wall performance.
Fashion Sakala had Rangers in front after 12 minutes when slack defending from Anthony Stewart gave the Zambian another chance right in front of goal after he failed to connect with his initial effort.
After 15 minutes Aberdeen looked as if they were in danger of a repeat of Saturday’s lacklustre defeat as they struggled to get a foothold in the game.
But they gradually got themselves back into the game and put the visitors under some pressure with a flurry of chances and corners.
Ramadani should have scored when he smashed a shot wide of the target after a cross from Clarkson and Duk had an effort hit the outside of Allan McGregor’s post.
The Glasgow side had chances up the other end as well as they looked to double their lead going into the break with chances falling to Kent and Morelos, who will both feel they should have done better.
But just as it looked like Beale’s men would be going into the break ahead, Duk stepped up and fired a free-kick into the top corner and level the scores.
And the second half was less than ten minutes old when Clarkson fired a spectacular half-volley that flew past McGregor and into the Rangers net to make it 2-1 to the hosts.
Beale decided to ring the changes and brought on four subs as the game was reaching the hour mark with Arfield, Lundstram, Davies and Wright coming on for Jack, Sands, Kamara and Sakala.
Goodwin responded with three changes of his own when he brought on Hayes, Watkins and Morris for Duk, Miovski and Clarkson.
Lundstram found himself in the book and on the end of a stern talking to by referee Willie Collum for a rash challenge not long after coming on.
Aberdeen nearly made it 3-1 when former Celtic man Hayes’ volley was just wide of the post before Rangers came close to equalising moments later when Arfield’s effort was cleared of the line by McCrorie with 15 minutes remaining.
Rangers huffed and puffed and dominated possession but struggled to create any real chances and it was the home side that looked more dangerous on the attack and more likely to score the next goal.
Lundstram tried his luck from long-range but the shot was comfortable saved by Roos as the game neared the final minute before seven minutes of injury time was added on.
And just as it looked as if they had run out of ideas Arfield popped up with a dramatic late double to stop Rangers losing further ground in the league title race.
Celtic play Livingston at home on Wednesday.
Follow STV News on WhatsApp
Scan the QR code on your mobile device for all the latest news from around the country