Alfredo Morelos’ late winner helped Rangers come from behind to beat St Johnstone and move within a point of Scottish Premiership leaders Celtic.
The Colombian striker took his tally for the season to 19 with just two minutes to play, volleying in James Tavernier’s teasing delivery.
Morelos’ downward header from a Glenn Middleton cross had cancelled out Matty Kennedy’s thunderous first-half opener.
It earned Steven Gerrard’s side a fourth win in a row at McDiarmid Park.
It was also the first time in six games that the Ibrox side had scored more than once, with the second-half introductions of Middleton and Kyle Lafferty swinging the game in Rangers’ favour.
A win would have moved St Johnstone into fifth place, but a second consecutive defeat after an eight-game unbeaten run instead leaves the Perth side eighth.
Jekyll and Hyde Rangers
For all the praise Rangers have received under Gerrard – and having recently topped the table – they arrived in Perth have only won one of their last five games, scoring twice.
A lack of creativity from central midfield has been a problem and, with Ovie Ejaria returning to Liverpool, their resources were further stretched by the absence of Scott Arfield and Ryan Jack – and it showed.
St Johnstone manager Tommy Wright decided to crowd that area, with two midfielders starting in place of two forwards and Kennedy playing as a lone striker – hardly surprising considering they had shipped seven goals in their last two games against the visitors – and it worked a treat.
The plan could have been undone within four minutes had Andy Halliday not side-footed wide after stealing in, while efforts from Joe Worrall and Morelos went close as Rangers saw more of the ball.
However, St Johnstone were growing into the game, with Murray Davidson lofting a shot just over, while Liam Craig should have done better than head wide from close range. That swelling confidence was fuelled by the tendency of Rangers’ two centre-back to cheaply concede possession.
Minutes after Lee Wallace replaced the injured Borna Barisic to make just his second appearance in 15 months, the left-back was posted missing as Kennedy gathered a cross in plenty of space at the back post, turned inside flailing Rangers bodies and fired his sixth goal of the season high into the net.
Gerrard threw on winger Middleton and striker Lafferty after the break and it was the former who supplied the cross that found Morelos stealing between two defenders to head his 18th goal of the campaign.
The Jekyll and Hyde nature of Rangers contributed to an exciting finale. Their defensive frailties were exposed with a Kennedy drive curling just wide and Allan McGregor having to beat away a Blair Alston drive. Meanwhile, their potent attack came to life as Zander Clark saved well from Daniel Candeias, Lafferty and Morelos.
Contrasting fortunes within a matter of seconds decided the game. Alston headed just over from a Richard Foster cross after an incisive break and Rangers raced up the other end, with Morelos finishing after being picked out by Tavernier.
Rangers players and management had gone into the game talking about targeting a three-game winning finish to the year. They remain on course, but to earn victories over Hibernian and Celtic they will have to address their deficiencies after coming so close to falling at the first hurdle.
‘Lafferty & Morelos make difference’ – analysis
BBC Scotland’s Brian McLauchlin at McDiarmid Park
Wright set out his stall from the outset with Kennedy given the unenviable task of lone striker against the substantially taller and more physical Rangers defence. His work-rate, however, was phenomenal and he deserved his goal and the standing ovation he received when he was replaced.
St Johnstone will play worse and win games and they should also head into the latter part of the campaign with a positive outlook.
Credit though has to be given to Gerrard. The Rangers boss’s decision to send on Lafferty just 10 minutes into the second half was the turning point of the match. Until then, the Ibrox outfit looked laboured..
Morelos, though, scored two of the most clinical finishes you will see. His value to the Ibrox club is immense and, if Rangers are to maintain the pressure on Celtic into the second half of the season, he will be required to maintain his scoring rate.