Pressure piled on Rangers boss Giovanni van Bronckhorst after a shock 2-1 defeat by St Johnstone left them seven points behind Celtic at the top of the cinch Premiership.
The Govan side dominated the first half at McDiarmid Park but found themselves behind in the 41st minute when 24-year-old wing-back James Brown thundered in a stunning drive from 25 yards for his first ever goal.
Former Rangers striker Nicky Clark grabbed a second in the 62nd minute before Gers skipper James Tavernier reduced the deficit in the 73rd minute – but that was the sum total of their reply.
It was St Johnstone’s first home win over Rangers since March 2010 and seething Gers fans vented their frustration at the final whistle, with Van Bronckhorst’s tenure now under further scrutiny.
There had seemed little prospect of an upset in Perth despite an ongoing injury crisis at Ibrox.
Van Bronckhorst was glad to welcome back centre-back Ben Davies from a groin complaint and midfielder John Lundstram had served a one-game ban.
Saints boss Callum Davidson revealed a sickness bug in the camp, with captain Liam Gordon missing.
Elliott Parish took over from injured number one goalkeeper Remi Matthews and Ross Sinclair was recalled from his loan spell at Montrose to take his place on the bench.
Rangers started the game strongly and in the sixth minute Parish had to save from Malik Tillman’s effort from a tight angle, following Tavernier’s cross
Minutes later, Parish dived low to his left to push a decent Lundstram drive round the post for a corner and the home side emerged unscathed.
In the 11th minute Antonio Colak should have done much better when he was sent through on goal by Tillman but veteran Perth defender Andrew Considine ensured the Croatia striker did not get a shot on goal.
As the siege on the St Johnstone goal continued, Gers winger Fashion Sakala leapt above defender Adam Montgomery to head a Borna Barisic corner off the crossbar.
However, against the run of play the home side took the lead and it all started when a mix-up between Lundstram and Sakala gave possession away.
Rangers still had a chance to take control but that was passed up and when Perth striker Stevie May’s shot from the edge of the box was blocked out to Brown, he thundered a drive high past Gers keeper Allan McGregor for a landmark goal.
It was the third successive league game in which Rangers had conceded first and it turned the second half into a huge 45 minutes but the Ibrox side were less than convincing.
Parish made a comfortable save from Ryan Kent’s long-distance drive in the 56th minute but it was clear that the home side had grown in confidence.
Alfredo Morelos and Scott Arfield replaced Davies and Tillman on the hour mark before the home side doubled their lead.
May beat 18-year-old Gers defender Leon King on the byline and Clark got in front of Barisic at the near post to flick his cross past McGregor and immediately the huge travelling support turned their ire on van Bronckhorst.
Rangers rallied. Lundstram sent a left-footed shot from the edge of the box just off the outside of post before Tavernier beat Parish with a shot from the edge of the box, after Considine headed clear a corner.
Back in the game, the Govan side piled on the pressure.
Lundstram hit the bar with a powerful 25-yard drive before Parish saved a Tavernier header and a long-distance effort from Lundstram but the desperate Light Blues ran out of time – and so too, perhaps, has Van Bronckhorst.