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."
What's next?
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).
Player of the match
McKayBarrie McKay
Heart of Midlothian
Avg
- Squad number18Player nameMcKayAverage rating
8.08
- Squad number30Player nameGinnellyAverage rating
7.87
- Squad number14Player nameDevlinAverage rating
7.41
- Squad number3Player nameKingsleyAverage rating
7.36
- Squad number19Player nameHalkettAverage rating
7.34
- Squad number5Player nameHaringAverage rating
7.22
- Squad number2Player nameSmithAverage rating
7.06
- Squad number15Player nameMooreAverage rating
7.06
- Squad number17Player nameCochraneAverage rating
7.04
- Squad number1Player nameGordonAverage rating
7.02
- Squad number8Player nameMcEneffAverage rating
6.90
- Squad number11Player nameMackay-StevenAverage rating
6.44
- Squad number16Player nameHallidayAverage rating
6.22
- Squad number4Player nameSouttarAverage rating
5.98
St Johnstone
Avg
- Squad number8Player nameDavidsonAverage rating
5.60
- Squad number23Player nameÇiftçiAverage rating
5.57
- Squad number6Player nameGordonAverage rating
5.54
- Squad number1Player nameClarkAverage rating
5.52
- Squad number11Player nameO'HalloranAverage rating
5.45
- Squad number5Player nameClearyAverage rating
5.37
- Squad number4Player nameMcCartAverage rating
5.36
- Squad number18Player nameMacPhersonAverage rating
5.32
- Squad number7Player nameMayAverage rating
5.24
- Squad number24Player nameBoothAverage rating
5.15
- Squad number34Player nameButterfieldAverage rating
5.12
- Squad number21Player nameCrawfordAverage rating
4.29
- Squad number9Player nameKaneAverage rating
4.04
- Squad number14Player nameMiddletonAverage rating
3.54
- Squad number15Player nameGilmourAverage rating
3.43
Line-ups
Hearts
Formation 3-4-3
- 1Gordon
- 4SouttarBooked at 73mins
- 19HalkettSubstituted forMooreat 71'minutes
- 3Kingsley
- 2SmithBooked at 89mins
- 14Devlin
- 5Haring
- 17Cochrane
- 18McKaySubstituted forHallidayat 83'minutes
- 30Ginnelly
- 11Mackay-StevenSubstituted forMcEneffat 70'minutes
Substitutes
- 8McEneff
- 10Boyce
- 12Atkinson
- 13Stewart
- 15Moore
- 16Halliday
- 22Henderson
- 38Pollock
St Johnstone
Formation 3-5-2
- 1Clark
- 5ClearyBooked at 60mins
- 6GordonBooked at 90mins
- 4McCart
- 11O'Halloran
- 8DavidsonBooked at 70minsSubstituted forCrawfordat 80'minutes
- 34ButterfieldSubstituted forGilmourat 64'minutes
- 18MacPherson
- 24Booth
- 23ÇiftçiSubstituted forMiddletonat 80'minutes
- 7MaySubstituted forKaneat 64'minutes
Substitutes
- 2Brown
- 3Gallacher
- 9Kane
- 12Parish
- 14Middleton
- 15Gilmour
- 21Crawford
- 25Ambrose
- 26Craig
- Referee:
- Nick Walsh
- Attendance:
- 16,589
Match Stats
- Possession
- Home58%
- Away42%
- Shots
- Home16
- Away14
- Shots on Target
- Home8
- Away6
- Corners
- Home4
- Away2
- Fouls
- Home9
- Away11
Live Text
Post update
Full Time
Second Half ends, Heart of Midlothian 2, St. Johnstone 0.
Booking
Liam Gordon (St. Johnstone) is shown the yellow card for a bad foul.
Post update
Attempt blocked. Liam Gordon (St. Johnstone) left footed shot from the centre of the box is blocked.
Post update
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.
Post update
Corner, St. Johnstone. Conceded by John Souttar.
Post update
Foul by Peter Haring (Heart of Midlothian).
Post update
Cameron MacPherson (St. Johnstone) wins a free kick in the attacking half.
Post update
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.
Post update
Corner, St. Johnstone. Conceded by Alex Cochrane.
Booking
Michael Smith (Heart of Midlothian) is shown the yellow card for a bad foul.
Post update
Foul by Michael Smith (Heart of Midlothian).
Post update
Callum Booth (St. Johnstone) wins a free kick on the left wing.
Post update
Cameron Devlin (Heart of Midlothian) wins a free kick in the defensive half.
Post update
Foul by Charlie Gilmour (St. Johnstone).
Substitution
Substitution, Heart of Midlothian. Andrew Halliday replaces Barrie McKay.
Post update
Foul by Taylor Moore (Heart of Midlothian).
Post update
Charlie Gilmour (St. Johnstone) wins a free kick in the defensive half.
Post update
Corner, Heart of Midlothian. Conceded by Zander Clark.
Post update
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.