Rangers could only narrow the gap to Scottish Premiership leaders Celtic to seven points after being held at home by Kilmarnock – their fourth game in a row without a win.
Substitute Conor McAleny pounced on a long ball through the heart of the home defence to put the visitors ahead.
Daniel Bachmann denied Steven Davis in a first half during which the hosts had plenty possession but few chances.
But Rangers drew level with Alfredo Morelos’s second-half strike.
It was the striker’s 29th of the season, with nine of them coming against Kilmarnock.
But the visitors, who remain a point behind Aberdeen in fourth, have now secured back-to-back top six finishes for the first time since 2006-07 and will be pleased to have improved on their 5-0 Scottish Cup hammering at Ibrox last month.
Steven Gerrard’s side had undergone their own post-cup soul-searching after their midweek quarter-final defeat at home against Aberdeen.
With Celtic seemingly heading for another title, Gerrard’s side are likely to end the season without silverware and the manager was forced on the defensive, pleading for more time to build a side that can challenge for honours.
He also responded by dropping Borna Barisic and Joe Worrall from his defence, while Ryan Jack and Scott Arfield were absent from midfield through injury – changes that proved significant.
Nikola Katic had not partnered Connor Goldson at the heart of the defence this year and they were caught out early on as Eamonn Brophy stole in to fire wastefully into the side netting. To add to the forward’s misery, it signalled an end to his game with a hamstring injury, but McAleny was to prove an able replacement.
In the visitors’ next rare foray forward, Gary Dicker’s long chip forward found the on-loan Fleetwood Town striker ghosting between Goldson and Katic to round Allan McGregor and slot into the unguarded net. His cause was helped somewhat by the goalkeeper, who this week announced the end to his Scotland career, inexplicably wandering into no-man’s land.
Davis has found it tough to pin down a starting place since returning to Rangers on loan from Southampton, but the veteran midfielder’s drive that forced Bachmann to parry over the crossbar was the only time the home side seriously threatened the visiting goalkeeper until Gerrard’s half-time changes.
The introduction of Barisic and former Osijek team-mate Eros Grezda brought new urgency to Rangers and, shortly after Jermain Defoe became their third substitution, they drew level. Morelos overpowered Stuart Findlay on the turn before firing powerfully past Bachmann.
It proved not to be enough to avoid another frustrating day for Rangers in front of their own fans, exemplified by Morelos having a shoving match with former Ibrox defender Kirk Broadfoot at half-time.
And it could have been worse. Goldson was fortunate to escape with a yellow card for a cynical trip on substitute Liam Millar in the dying seconds that resulted in a Chris Burke free-kick that flew dangerously across the face of the home goal.
Rangers manager Steven Gerrard: “Other people need to step up and try and chip in [as well as Morelos]. I’ll do everything I can, when I can, to improve us in the final third.
“We need game changers, we need players that can be the difference when games are tight. We need more in the final third.”
Kilmarnock manager Steve Clarke: “We were competitive, start to finish. No more. The refereed ran the game as he saw fit, and if there as going to be a red card, it would have been for Rangers.
“If – if – it was going to happen, it would have been for the tackle by Goldson on Millar as he’s going through on goal, a chance to get a shot away. But the ref chose to give yellow and we accept that.”