Stevie May, who also scored against Rosenborg in the Europa League, grabbed the only goal of the game with visiting keeper Jamie MacDonald in fine form to keep Hearts in with a chance all the way to the final whistle.
After a slow start, St Johnstone gradually got themselves on the front foot and May headed wide of MacDonald’s goal before opening the scoring on 25 minutes with a curling effort that gave the Hearts keeper no chance.
It could easily have been two before half-time had the Saints taken advantage of one of a few late chances, May’s cross-cum-shot begging to be tapped in if one of his fellow forwards had taken a gamble.
MacDonald, one of only three players over 21 in the Hearts side, pulled off a fantastic save to deny Steven Anderson, the defender’s header tipped acrobatically around the post, and it was Anderson again just before half-time who headed a glorious chance over the bar.
Alan Mannus remained a virtual spectator in the Saints goal early in the second-half but, at the other end, MacDonald was again called into action to turn a David Wotherspoon free-kick around the post.
The busy Hearts keeper kept out a May shot and then had a touch of luck when Steven McLean’s effort went under his body only to be hacked away from danger by a waiting defender.
A deflected May effort then fell for MacLean but MacDonald dived low to push away his header as the pressure continued.
Hearts saw a little more of the ball as the second-half wore on, but Gary Locke’s men found it hard to create much in the final third despite the introduction of the highly-rated Jason Holt and the lively Billy King.
But there would be no equaliser for Hearts who were unable to make any progress towards reducing the 15-point head-start they gave the rest of the league for being in administration.