Liam Craig netted after three minutes and Dave MacKay converted a 78th-minute penalty as Saints, who have lost just once away from Perth all season, strengthened their advantage over their hosts in fourth place in the table, with Mehdi Taouil’s 86th-minute strike proving a consolation.
Jamie Hamill had earlier seen his 64th-minute spot-kick saved by Peter Enckelman as beleaguered Hearts – mired in debt and with owner Vladimir Romanov seeking to sell – suffered a fourth loss in six games since the first-team squad first suffered delayed payment of their wages.
Both managers were absent from the touchline, Hearts boss Paulo Sergio serving the third of a five-match ban and Saints boss Steve Lomas also confined to the stands after being handed a one-game suspension this week.
Hearts, whose players’ salaries are overdue for a second straight month, began the day one point behind the Perth side, who were seeking back-to-back wins over Edinburgh clubs after their defeat of Hibernian last weekend.
Saints’ only loss in eight previous away matches was on their last trip to the capital, when Hibs prevailed in Leith, and despite missing strikers Cillian Sheridan and Francisco Sandaza and the continued absence of midfielder Jody Morris, the visitors made a swift start.
Hearts had overcome their numerous problems last weekend in beating Inverness, but compounded them today after three minutes when MacKay’s cross from the right caused confusion in the Hearts defence and Saints went in front.
Marian Kello was caught in no-man’s land as Andy Webster’s weak header found Craig at the edge of the area and the left winger composed himself before executing a delicate chip.
The visitors suffered a setback when defender Frazer Wright limped off after 10 minutes, with David McCracken coming on in his place.
While Sergio watched on from behind the dugout, Lomas’ view from the directors’ box was more comfortable.
After Taouil and Craig tangled on the edge of the Saints box and the Hearts forward was booked, the visitors almost doubled their advantage.
Craig’s cross-field pass found Chris Millar, who centred first time.
Carl Finnigan was unable to connect and the ball found Marcus Haber, whose shot was destined for the bottom corner, only for Kello to turn the ball around the post.
David Templeton, who earlier hit the wall with a free-kick, blasted high and wide with Hearts’ first meaningful shot as their attacking endeavours continued without causing Saints stopper Enckelman any distress.
Enckelman’s goal was under siege as soon as the second half began, with Hearts switching to a 4-4-2, Stephen Elliott replacing Webster to join John Sutton up front and Adrian Mrowiec switching to the centre of defence.
Elliott almost levelled 40 seconds after the restart, heading Taouil’s cross from the right narrowly wide.
Craig fired narrowly over before Elliott twice had chances in quick succession.
The Irishman snatched at a shot following a Templeton cross and then fired over on the turn after Saints failed to deal with a long Ryan McGowan throw.
Hearts were then awarded a penalty after Sutton was hauled down by McCracken following Hamill’s cross.
Hamill took the spot kick, but Enckelman saved diving to his right.
Referee Stevie O’Reilly pointed to the spot at the other end after Eggert Jonsson brought down Murray Davidson as the Saints midfielder surged into the box and latched onto MacKay’s pass.
MacKay converted from the spot to double the lead, sending Kello the wrong way.
Hearts’ hopes were revived four minutes from time when Taouil struck a curling effort from 25 yards for his first goal for the club.
But it was not enough to avoid defeat, with Enckelman making a late save from Elliott as Saints held on.