Glen Kamara’s early goal helped Rangers beat St Johnstone 1-0 and keep the pressure on cinch Premiership leaders Celtic.
The Finland international’s effort secured the Light Blues’ first win in five away games, keeping them three points behind the Hoops.
Dogged Saints, locked in a relegation battle with Tayside rivals Dundee, refused to buckle after that disastrous start to ensure a nervous run-in for Rangers manager Giovanni Van Bronckhorst, who opted to keep all his substitutes on the bench.
The Saints line-up showed two changes from the side which lost 3-1 at Ross County, with Nadir Ciftci stepping in for on-loan Rangers attacker Glenn Middleton and James Brown replacing recent arrival Dan Cleary in central defence.
Van Bronckhorst made just one change in the wake of a 2-2 draw with Motherwell, with centre-back Leon Balogun coming in and winger Fashion Sakala dropping to the bench as part of a tactical tweak.
Throughout the game, visiting supporters occupying stands at either end of the stadium voiced their hostility to November’s planned friendly with Celtic in Sydney.
But they were celebrating when Kamara stroked them into a third-minute lead.
The Saints backline was dissected all too easily by a delicate touch from Alfredo Morelos on the edge of the penalty area and Kamara ignored offside pleas to tuck a calm finish past static keeper Elliot Parish.
In the 18th minute, Balogun failed to clear Jacob Butterfield’s corner but Jamie McCart’s lob veered well off target.
Two minutes later Morelos smashed an angled strike off the base of the post as Rangers looked to double their advantage.
Saints recovered their composure after the troubled start, with striker Callum Hendry leading the line and taking punishment from both Balogun and Connor Goldson, although referee Willie Collum showed a yellow card to Calvin Bassey for felling Brown in full flight.
Rangers keeper Allan McGregor was tested shortly before half-time when he dropped to his left to seize Butterfield’s drilled 25-yarder.
Rangers pair Scott Arfield and Ryan Kent both blazed shots over the target before the half-time whistle.
Minutes into the second half Morelos got his head to a Kent cross but the Colombian’s effort did not trouble Parish.
But the stand-in keeper, again covering for injured Zander Clark, had to react to prevent an instinctive shot on the drop from Joe Aribo finding the net.
In the 58th minute Arfield should have finished off Aribo’s handiwork but his dinked attempt drifted agonisingly past the target.
Swedish midfielder Melker Hallberg picked up a caution for tripping Kamara and while Saints only half-cleared James Tavernier’s free-kick, an off balance John Lundstram hooked his effort over the crossbar from 16 yards.
Goldson thought he had bagged Rangers’ second with 22 minutes left when he powered home a header from a Tavernier free-kick, only to see an assistant’s flag raised for offside.
With Saints still in the contest, a short back header from Tavernier allowed Ali Crawford to beat McGregor to the ball but the midfielder could not exploit the confusion and Rangers got back on track in the title race.