Match ends, St. Johnstone 1, Heart of Midlothian 0.
St Johnstone moved off the foot of the Scottish Premiership table with a 1-0 win that heightens the pressure on Hearts manager Craig Levein.
Only goal difference is keeping the Tynecastle side off the bottom of the league after Christophe Berra deflected Jason Kerr's header into his own net.
Hearts have won just two of their last 10 and are stranded on eight points along with St Mirren.
However, St Johnstone have moved up to eighth after earning consecutive wins.
It is quite a turnaround for Tommy Wright's side, who only earned their first three points of the campaign on Saturday.
Hearts, meanwhile, now face Rangers in Sunday's League Cup semi-final.
St Johnstone wrestle control from blunt Hearts
Levein hinted that things were beginning to look a little rosier around Tynecastle, with the return of several first-team players from injury. That hint of optimism would come back to bite the Hearts manager.
Wright opted to stick with the same side that had picked up St Johnstone's first league win of the season four days before against Hamilton and, from the first whistle, it was clear that the home side had a new-found confidence.
Hearts had every intention of taking the game to their opponents, with Uche Ikpeazu and Steven MacLean taking up advanced positions in the St Johnstone box, yet the hosts matched any physical intent and nullified the threat with sheer determination.
While the visitors hogged possession, St Johnstone did threaten on the break. Driving runs from Ali McCann in midfield and plenty of space for Stevie May to run into offered half-chances for the hosts in the first half.
On the cusp of half time, Hearts almost broke the deadlock when captain Berra got on to the end of a front-post cross to flick a volley just wide. Yet in truth, neither side had done enough to deserve the lead after 45 minutes of combative yet blunt football.
The hosts began the second half as they intended to go on. Matty Kennedy skipped past Berra to fire a low shot that was blocked by Michael Smith, then Anthony Ralston whipped in a cross for David Wotherspoon to half volley towards goal that Joel Pereira tipped away.
But, moments later, the goalkeeper would find that it was all in vain. From the consequent corner, Kerr rose highest to head towards goal and, although Pereira seemed to have it covered, the ball ricocheted off of Berra and bounced into the net.
Levein tried to add a bit of finesse to Hearts' blunt attack with the introduction of Jamie Walker and Ryotaro Meshino, yet whenever the Edinburgh side pushed forward their hosts countered with even more intent. McCann saw his shot deflected over with 10 minutes to go before a Wallace Duffy header was cleared off the line.
Against the backdrop of a cold, empty McDiarmid Park, calls for "Craig Levein, we want you to go" came from the away end as St Johnstone saw out only their second league win of the season with more comfort than they perhaps envisioned.
Hearts have now scored just 10 goals in their first 11 games of the Premiership season and have just eight points to show for it.
If not for a goal-shy St Mirren side, they would be heading in to Sunday's Scottish League semi-final against Rangers dead last in the league table and staring relegation in the face.
Man of the match - Jason Kerr
BBC Scotland's Tyrone Smith at McDiarmid Park
This was a game where Hearts rarely threatened, one the reasons for that - apart from a lack of creativity - was an impressive performance by St Johnstone centre-back Kerr.
Up against Hearts striker Ikpeazu, he shackled the man mountain well, in both a football and a physical sense. His contribution at the other end for the goal was the icing on the cake.
An accomplished and assured display by Kerr, who it is easy to forget is still just 22 years old.
'It was a battle at times' - reaction
St Johnstone manager Tommy Wright: "It was a battle at times. We had to deal with a lot of long balls and I thought our two centre halves were magnificent. That gave us a good platform.
"I'm happy with the result and really pleased for the players because they've been through the mill."
Hearts manager Craig Levein: "I'm extremely disappointed. It was a scrappy non-event, really. The irritating thing for me more than anything is that we didn't dig in as much as St Johnstone did.
"I'm concerned about the inconsistency. Of course, I'm worried. I'm not going to stand here and say that I'm not. We need to dig deep and get ourselves up the table as quickly as possible."
- 15KerrBooked at 44mins
- 33KennedySubstituted forKaneat 68'minutes
- 10WotherspoonSubstituted forCraigat 73'minutes
- 14MaySubstituted forHendryat 87'minutes
- 23Castro Pereira
- 6BerraBooked at 42mins
- 3WhiteBooked at 51mins
- 38MorrisonSubstituted forWalkerat 60'minutes
- 22DamourSubstituted forWhelanat 60'minutes
- 8ClareSubstituted forMeshinoat 80'minutes
- 18MacLeanBooked at 75mins
- 19IkpeazuBooked at 81mins
- David Munro
- Shots on Target
Second Half ends, St. Johnstone 1, Heart of Midlothian 0.
Corner, Heart of Midlothian. Conceded by Liam Craig.
Corner, Heart of Midlothian. Conceded by Wallace Duffy.
Wallace Duffy (St. Johnstone) wins a free kick in the defensive half.
Foul by Uche Ikpeazu (Heart of Midlothian).
Substitution, St. Johnstone. Callum Hendry replaces Stevie May.
Foul by Scott Tanser (St. Johnstone).
Jamie Walker (Heart of Midlothian) wins a free kick in the defensive half.
Attempt saved. Stevie May (St. Johnstone) header from the centre of the box is saved in the top centre of the goal.
Corner, St. Johnstone. Conceded by Michael Smith.
Alistair McCann (St. Johnstone) wins a free kick in the defensive half.
Foul by Ryotaro Meshino (Heart of Midlothian).
Attempt saved. Wallace Duffy (St. Johnstone) header from the left side of the six yard box is saved in the bottom right corner.
Corner, St. Johnstone. Conceded by Christophe Berra.
Attempt blocked. Alistair McCann (St. Johnstone) right footed shot from the centre of the box is blocked.
Uche Ikpeazu (Heart of Midlothian) is shown the yellow card.
Anthony Ralston (St. Johnstone) wins a free kick in the defensive half.
Foul by Uche Ikpeazu (Heart of Midlothian).
Substitution, Heart of Midlothian. Ryotaro Meshino replaces Sean Clare.