Two late strikes by Saints' injury-hit super sub Peter MacDonald robbed Thistle of the victory they looked to have in the bag.
The first half was lack-lustre as neither side displayed the guile needed to create the opening for a breakthrough.
The Jags came closest with a series of shots 13 minutes into the game. An Andy Wilkinson shot was blocked by Kevin Rutkiewicz, and Martyn Fotheringham courageously threw himself in the path of a Ken Milne thunderbolt before Derek Fleming's flighted shot went narrowly past the Saints' post.
The second period was a far livelier affair. Saints went behind to a 66th minute goal by Ken Milne. Armand One dragged the ball to the by-line before cuutting it back to Milne, who beat Ryan McCann to the ball to net from close range.
The home team looked down and out with all the second half chances falling the way of Thistle.
In the 49th minute former Saints starlet Emanuel Panther hit the woodwork from 10 yards.
In the 64th minute Andrew Dowie tested the home defence, flicking on a Derek Fleming corner. Luckily for St Johnstone, Paul Sheerin was on the line to clear the danger and keep Saints in the hunt .
Allan McGregor saved spectacularly from One five minutes after Milne's goal, and what a valuable intervention that proved to be.
Former Rangers player Peter MacDonald entered the fray with 13 minutes of the match remaining. WIthin seven minutes the striker had equalised, prodding home a Michael Moore head flick from close in before smashing in an injury time volley and securing an undeserved but nevertheless welcome victory for the Perth club.