Saints - the last visiting team to win at Ibrox 13 months ago - took the lead early on when Blair Alston curled in a fantastic strike.
Joe Garner headed Rangers level from a corner before the break.
The visitors had several chances in the second half with Alston firing against the post while Garner had a header saved for the hosts.
With Aberdeen defeated at Hamilton Academical on Tuesday and Hearts beaten at Kilmarnock, Saints could have gone second with victory but instead they go level on points with the second-placed Dons, albeit having played a game more.
Rangers, having taken 16 points from a possible 30 since being promoted, stay fifth edging to within a point of Hearts.
The Ibrox side have won only two of their home league games this season, having also dropped points to Hamilton and Ross County.
Mark Warburton's side had improved defensively in recent weeks with clean sheets in league wins over Partick Thistle and Inverness.
However, with Wes Foderingham resuming goalkeeping duties from Matt Gilks - Rangers' best player in the 1-0 Scottish League Cup semi-final defeat by Celtic - the Ibrox side found themselves a goal down early on to Saints as Alston picked his spot after robbing Lee Hodson for his first Saints goal.
Tommy Wright engineered an away win over Rangers in last season's League Cup when the hosts - then in the Championship - bringing an end to a 11-game winning sequence.
And the Northern Irishman's team had several opportunities to go back in front early in the second half with Brian Easton, Liam Craig, Danny Swanson and Chris Kane all going close before Alston fired against a post.
Garner had netted just once since his summer move from Preston North End but the striker broke his Ibrox duck with a headed finish off Harry Forrester's corner, having gone close from a similar situation moments before.
And Garner threatened to nod Rangers ahead on 74 minutes but could not beat Zander Clark, who made good first-half saves to deny Jason Holt and Josh Windass.
Warburton sought fresh impetus in attack with the introduction of Martyn Waghorn, Kenny Miller and Barrie McKay off the bench but St Johnstone held firm with David Wotherspoon clearing a Miller effort off the line.
Rangers' Mark Warburton: "It was a decent first half but we didn't continue that and we gave the ball away cheaply.
"We weren't brave getting out, despite the possession stats we didn't play the way we wanted to.
"It's a demanding crowd because they're used to success. The players have to recognise it's an expectant crowd - and quite rightly. We have to respect that and learn from that."
St Johnstone's Tommy Wright: "It's never easy coming here. We're happy to take a point but we could have taken all three as we had a few good chances in the second half.
"We knew we'd stay above Rangers with a positive result. We're content with the return but there are no prizes given out so we're not going to get carried away with it."
Match ends, Rangers 1, St. Johnstone 1.
Second Half ends, Rangers 1, St. Johnstone 1.
Rob Kiernan (Rangers) is shown the yellow card for a bad foul.
Foul by Rob Kiernan (Rangers).
Liam Craig (St. Johnstone) wins a free kick in the attacking half.
Attempt blocked. Kenny Miller (Rangers) left footed shot from the centre of the box is blocked.
Corner,  Rangers. Conceded by Joe Shaughnessy.
Andy Halliday (Rangers) wins a free kick in the attacking half.
Paul Paton (St. Johnstone) is shown the yellow card for a bad foul.
Foul by Paul Paton (St. Johnstone).
Corner,  St. Johnstone. Conceded by Clint Hill.
Corner,  Rangers. Conceded by Paul Paton.
Substitution, St. Johnstone. David Wotherspoon replaces Chris Millar.
Substitution, Rangers. Martyn Waghorn replaces Joe Garner.
Foul by Rob Kiernan (Rangers).
Steven Anderson (St. Johnstone) wins a free kick in the attacking half.
Corner,  Rangers. Conceded by Richard Foster.
Kenny Miller (Rangers) wins a free kick in the attacking half.
Foul by Richard Foster (St. Johnstone).
Attempt missed. Kenny Miller (Rangers) header from the centre of the box misses to the left.
Attempt missed. Liam Craig (St. Johnstone) left footed shot from the left side of the box is high and wide to the left.
Corner,  St. Johnstone. Conceded by Lee Hodson.
Foul by Rob Kiernan (Rangers).
Danny Swanson (St. Johnstone) wins a free kick in the defensive half.
Attempt blocked. Lee Wallace (Rangers) left footed shot from outside the box is blocked.
Corner,  Rangers. Conceded by Danny Swanson.
Substitution, Rangers. Barrie McKay replaces Harry Forrester.
Attempt missed. Blair Alston (St. Johnstone) right footed shot from the centre of the box is close, but misses to the right.
Attempt saved. Andy Halliday (Rangers) left footed shot from outside the box is saved in the centre of the goal.
Attempt saved. Joe Garner (Rangers) header from the centre of the box is saved in the top right corner.
Corner,  Rangers. Conceded by Zander Clark.
Joe Garner (Rangers) wins a free kick in the defensive half.
Foul by Joe Shaughnessy (St. Johnstone).
Corner,  Rangers. Conceded by Blair Alston.
Foul by Rob Kiernan (Rangers).
Graham Cummins (St. Johnstone) wins a free kick in the attacking half.
Substitution, St. Johnstone. Graham Cummins replaces Christopher Kane.
Attempt missed. Harry Forrester (Rangers) right footed shot from outside the box is close, but misses to the left.
Andy Halliday (Rangers) wins a free kick in the defensive half.
Foul by Christopher Kane (St. Johnstone).
Rangers and St Johnstone had to settle for a point each after a Scottish Premiership draw in Glasgow.