Match ends, Heart of Midlothian 2, St. Johnstone 0.
St Johnstone are in "crisis", admitted manager Callum Davidson, after Josh Ginnelly's double consigned his side to an eighth straight league loss and moved Hearts clear in third in the Scottish Premiership.
Ginnelly latched on to Barrie McKay's superb pass to slot coolly past Zander Clark 19 seconds after the break, and then took advantage of another McKay run and assist to seal victory.
St Johnstone - who have scored just 11 goals in 21 league games - are seven points adrift of automatic safety.
"I think it's a crisis just now to be honest with you," Davidson told BBC Scotland. "You can't go on a run like this.
"We need to work hard. Tonight I thought we did it and then chucked a goal away. The players are giving me everything and trying hard to get better at certain things. But we need to get results.
"If we don't we're going to be in a position that'll be hard to get out of."
Hearts, meanwhile, are eight points clear in the race for the first Europa Conference League spot after Motherwell, Hibernian and Aberdeen all failed to win this week.
However, there was plenty of frustration directed at John Souttar, who has agreed to join Rangers in the summer when his Tynecastle deal expires.
The Scotland defender was booed nearly every time he touched the ball by a section of Hearts fans, but head coach Robbie Neilson said pre-match he will continue to play Souttar unless Rangers make a suitable offer to bring him in this month.
"John's a guy that's recovered from three Achilles ruptures," the Hearts manager said. "There's not many people who recover from one. He's recovered from three and got back to international level. There's never a question of John's mental strength."
The worry for Neilson was how the negative reaction would affect the rest of the side, but they recovered from a slow first half to take command of proceedings within seconds of the restart.
A missed header in midfield by St Johnstone allowed McKay to pick up Alex Cochrane's lash forward, and the influential Hearts forward slipped in Ginnelly, who raced away from Callum Booth to slide the ball past visiting goalkeeper Clark.
The same combination bore fruit 15 minutes from full-time as the visitors were again punished for their slackness. Debutant Nadir Ciftci gave away possession and McKay surged down the left before teeing up Ginnelly to sweep the ball into the top corner to kill the game.
St Johnstone, who also had new signing Daniel Cleary making his debut in defence, were effective enough in the first half, as Ciftci forced two saves from Craig Gordon but once they fell behind they never looked like salvaging a result.
Both sides had first-half penalty claims waved away by referee Nick Walsh too. But Hearts showed superior quality and saw out the game comfortably despite the unpleasant sound of fans booing their own player.
Man of the match - Barrie McKay
What did we learn?
With Liam Boyce on the bench due to an ongoing calf injury, it was left to Ginnelly to lead the line for Hearts. The first half indicated why they could do with another striker to replace the Northern Irishman as they lacked a focal point for the outstanding McKay to work with.
However, the second period showed the fluidity that's possible without natural a centre forward when given space to work in, and Ginnelly's pace in behind proved lethal for the first goal. He also showed good awareness to get on the end of McKay's cross for the second. Nevertheless, they will surely look to add up front before the month is out.
For all Hearts' good play, the chorus of boos that greeted Souttar whenever he touched the ball was jarring and the centre-back looked ashen-faced when leaving the pitch. It may be that the brutal reception fades with time, but if it doesn't, it could become an issue.
St Johnstone are in serious trouble. The first half was encouraging, with Ciftci looking lively and Cammy MacPherson a bright spark in midfield. But their lack of firepower is worrying, and they look utterly incapable of chasing a game.
They seem to find it difficult to shift through the gears when starting in their conservative set-up, which was so effective last season. Manager Callum Davidson wants more signings, but the key question is whether they will be good enough to come in and make the 3-4-3 system work again, or whether he needs to change things up.
Either way, time is running out and they now only have Dundee for close company down the bottom.
What they said
Hearts head coach Robbie Neilson: "They set up really well and it took a bit of time to break them down. Pleased to get the three points and it puts us in a good position in third place.
"Barrie [McKay] stole the show with two great assists. We just need to keep him fit and get some goals into his game as well."
St Johnstone manager Callum Davidson: "There were a lot of signs of improvement and I was pleased with how we performed first half.
"Second half, from our kick-off we concede. The game changes, they have three quick players up front and it played into their hands second half."
Hearts are away to sixth-tier side Auchinleck Talbot in the fourth round of the Scottish Cup on Saturday (12:30 GMT), while St Johnstone are also on the road at Kelty Hearts of League 2 (15:00).
- 4SouttarBooked at 73mins
- 19HalkettSubstituted forMooreat 71'minutes
- 2SmithBooked at 89mins
- 18McKaySubstituted forHallidayat 83'minutes
- 11Mackay-StevenSubstituted forMcEneffat 70'minutes
- 5ClearyBooked at 60mins
- 6GordonBooked at 90mins
- 8DavidsonBooked at 70minsSubstituted forCrawfordat 80'minutes
- 34ButterfieldSubstituted forGilmourat 64'minutes
- 23ÇiftçiSubstituted forMiddletonat 80'minutes
- 7MaySubstituted forKaneat 64'minutes
- Nick Walsh
- Shots on Target
Second Half ends, Heart of Midlothian 2, St. Johnstone 0.
Liam Gordon (St. Johnstone) is shown the yellow card for a bad foul.
Attempt blocked. Liam Gordon (St. Johnstone) left footed shot from the centre of the box is blocked.
Attempt saved. Jamie McCart (St. Johnstone) header from the centre of the box is saved in the centre of the goal. Assisted by Alister Crawford with a cross.
Corner, St. Johnstone. Conceded by John Souttar.
Foul by Peter Haring (Heart of Midlothian).
Cameron MacPherson (St. Johnstone) wins a free kick in the attacking half.
Attempt missed. Jamie McCart (St. Johnstone) header from the centre of the box is just a bit too high. Assisted by Alister Crawford with a cross following a corner.
Corner, St. Johnstone. Conceded by Alex Cochrane.
Michael Smith (Heart of Midlothian) is shown the yellow card for a bad foul.
Foul by Michael Smith (Heart of Midlothian).
Callum Booth (St. Johnstone) wins a free kick on the left wing.
Cameron Devlin (Heart of Midlothian) wins a free kick in the defensive half.
Foul by Charlie Gilmour (St. Johnstone).
Substitution, Heart of Midlothian. Andrew Halliday replaces Barrie McKay.
Foul by Taylor Moore (Heart of Midlothian).
Charlie Gilmour (St. Johnstone) wins a free kick in the defensive half.
Corner, Heart of Midlothian. Conceded by Zander Clark.
Attempt saved. Cameron Devlin (Heart of Midlothian) right footed shot from the centre of the box is saved in the bottom right corner. Assisted by Barrie McKay.