Substitute Danilo headed in a dramatic added-time winner against Hearts as Rangers won 2-1 to close the gap behind Celtic at the top of the cinch Premiership to five points.
The league leaders dropped two points at Hibernian on Saturday but the Gers’ prospects of taking advantage dipped when Jambos skipper Lawrence Shankland gave the visitors the lead after five minutes with a stunning header.
The mood inside Ibrox was not helped when skipper James Tavernier smacked the post with a penalty at the end of the first half and there was more woe when midfielder Nicolas Raskin was taken from the field on a stretcher after sustaining an injury in shooting.
However, within final minutes of normal time Philippe Clement’s side were awarded a second penalty after a VAR check for a Peter Haring foul on Connor Goldson and this time Tavernier slammed the ball in and in added time Brazilian striker Danilo, on for Cyriel Dessers at the start of the second half, nodded in for a victory which had looked unlikely for most of the afternoon.
Clement had resisted the opportunity to make radical changes following the gruelling goalless Europa League draw against Sparta Prague on Thursday night.
Ridvan Yilmaz, ineligible for the game in Prague, was reinstated at left-back as Rangers returned to a back four, with John Souttar dropping out.
Steven Naismith brought in defender Odeluga Offiah and midfielders Beni Baningime and Jorge Grant with Cammy Devlin and Alan Forrest dropping to the bench, while on-loan midfielder Alex Lowry could not play against his parent club, who were shocked by the loss of an early goal.
Wing-back Alex Cochrane took possession on the left and swung a right-footed cross into the Gers box and over the head of Yilmaz for Shankland to almost casually head past keeper Jack Butland.
It was the first goal lost under Clement and the home fans were not happy with the deficit or the reaction from Rangers.
In the 27th minute, following a corner from Tavernier which was met by Goldson, Shankland cleared Dessers’ effort from close range off the line.
However, moments later, the anger from the Ibrox stands when Hearts attacker Kenneth Vargas drove over the bar after taking a Shankland pass was unmistakeable.
Attacker Abdallah Sima headed a Yilmaz free-kick wide of the target in the 34th minute before Hearts’ Stephen Kingsley replaced injured Odel Offiah.
Rangers were handed a lifeline right before the break when referee John Beaton pointed to the spot when Jambos defender Toby Sibbick tripped Todd Cantwell inside the box.
Tavernier sent Tynecastle keeper Zander Clark the wrong way with his spot-kick but the ball rebounded off the post and Hearts kept their goal intact.
There were pointed cheers when Brazilian striker Danilo replaced Dessers for the start of the second half and initially the home side looked in a hurry.
Midfielder Sam Lammers flicked a Yilmaz cut-back over the bar in the 55th minute before Raskin hit the side netting with a drive which left him injured and replaced by attacker Scott Wright.
Hearts remained resolute under constant pressure.
A 20-yard drive from Rangers midfielder John Lundstram escaped the far post, as did an effort from Tavernier but when Beaton was sent to check his pitchside monitor by VAR, he judged substitute Haring to have tugged Goldson’s shirt at a corner.
Tavernier drove in the penalty to level but there was more drama to come in the third of nine added minutes when Danilo rose at the back post to head in a Tavernier cross – suddenly all was well inside Ibrox.