Match ends, St. Johnstone 1, Heart of Midlothian 0.
St Johnstone 1-0 Heart of Midlothian
St Johnstone moved five points clear of Hearts in fourth spot with a well deserved Premiership win at home.
Saints hit the bar through Paul Paton and Brian Easton, while Graham Cummins forced a save from Hearts goalkeeper Jack Hamilton.
Hearts offered little and Saints finally got the goal their pressure deserved when Joe Shaughnessy headed in from a corner with 17 minutes left.
Sam Nicholson was sent off late on for Hearts for an off-the-ball incident.
If fourth place is to be fought out between these two sides, then St Johnstone will prevail by a distance on this evidence.
They now hold a significant advantage and may even start thinking about chasing third.
Shaughnessy broke the deadlock and the otherwise impressive Hamilton was at fault.
He spilled a simple ball on the touchline, conceding a needless corner, and was punished as Shaughnessy rose to bury a header.
One point of interest that may have contributed to that was the introduction of Prince Buaben at centre-back to replace Anastasios Avlonitis.
Shaughnessy had a free run at goal and an unchallenged header. It was expensive.
After a slow start from both teams, the home side sparked into life and were very unlucky not to make the breakthrough in the opening period.
Paton provided the inspiration with a pile driver form the edge of the box that Hamilton superbly tipped away.
Easton then thought he had netted but watched his angled drive smash off the crossbar before Blair Alston's follow up was blocked.
Cummins was next up with a looping header which Hamilton again did well to tip away.
It seemed inevitable they would score and typically St Johnstone found a way to produce another impressive result.
The visitors simply didn't threaten a goal until the last seconds when Esmael Goncalves struck narrowly over. A late rally wasn't enough.
That would have been very harsh on the home side.
It's another defeat and another game without a win which will frustrate their support, and that five-point deficit to fourth place looks ominous.
Advanced players just didn't get consistent service. They were too easily contained when they did.
Clearly, there are talented players in this Hearts squad but they seem to lack a degree of belief. It was lacklustre.
On the positive side, Hamilton did produce some terrific saves but there wasn't much to convince that this side are capable of a winning run.
What is concerning for Hearts is their win ratio which is very poor as they continue to slide. Four wins from 19 games since head coach Ian Cathro came in is far from impressive.
The evening got even worse when Nicholson was sent off for what appeared to be some form of dissent towards an official, with a suggestion he may have spat in the direction of the assistant referee.
Another night to forget.
St Johnstone Tommy Wright: "We were the dominant team and probably should have been up at half time. It was fully deserved.
"I can't speak highly enough of the players. There was a lot of character tonight coming on the back of what they came through on Saturday.
"To produce that on the night when it really mattered and open up that gap says a lot about my team.
"That would be something special (third place). I suppose if I'm saying that five points ahead of Hearts isn't finished maybe Rangers six ahead of us isn't finished either.
"That would really be some achievement but if you said to me now take fourth and walk away I would take it."
Hearts head coach Ian Cathro: "We needed to do more to be a bigger threat. I don't think this is a moment to focus on positives.
"We continue in a situation where we keep allowing people to doubt us through a poor run of results. What we need to do is collectively find a solution. The answer is inside the room.
"There's a hell of a lot things conspiring to come against us just now.
"I want to see the footage (of Nicholson's red card). I don't think there was any aggression directed in that. I take that quite clearly from how Sam describes the situation and from others players around it. That's something that needs looked at."
- 18PatonBooked at 54mins
- 10WotherspoonSubstituted forMillarat 85'minutes
- 12AvlonitisBooked at 45minsSubstituted forBuabenat 60'minutes
- 19NowakBooked at 70mins
- 46SowahSubstituted forSmithat 69'minutes
- 4TziolisBooked at 64mins
- 20JohnsenBooked at 30minsSubstituted forNicholsonat 67'minutesBooked at 83mins
- 77Esmael Gonçalves
- 16El Ouriachi
- Nick Walsh
- Shots on Target
Second Half ends, St. Johnstone 1, Heart of Midlothian 0.
Foul by Jamie Walker (Heart of Midlothian).
Chris Millar (St. Johnstone) wins a free kick in the defensive half.
Hand ball by Liam Craig (St. Johnstone).
Jamie Walker (Heart of Midlothian) wins a free kick in the defensive half.
Foul by Chris Millar (St. Johnstone).
Attempt missed. Esmael Gonçalves (Heart of Midlothian) right footed shot from the centre of the box is just a bit too high.
Corner, St. Johnstone. Conceded by Andraz Struna.
Liam Craig (St. Johnstone) wins a free kick on the left wing.
Foul by Perry Kitchen (Heart of Midlothian).
Attempt missed. Esmael Gonçalves (Heart of Midlothian) right footed shot from the left side of the box is close, but misses to the right.
Substitution, St. Johnstone. Chris Millar replaces David Wotherspoon.
Attempt missed. Jamie Walker (Heart of Midlothian) left footed shot from outside the box is too high.
Sam Nicholson (Heart of Midlothian) is shown the red card.
Krystian Nowak (Heart of Midlothian) wins a free kick in the defensive half.
Foul by Graham Cummins (St. Johnstone).
Liam Smith (Heart of Midlothian) wins a free kick on the right wing.
Foul by Steven MacLean (St. Johnstone).
Goal! St. Johnstone 1, Heart of Midlothian 0. Joe Shaughnessy (St. Johnstone) header from the centre of the box to the bottom left corner. Assisted by Liam Craig with a cross following a corner.
Corner, St. Johnstone. Conceded by Jack Hamilton.
David Wotherspoon (St. Johnstone) wins a free kick in the attacking half.
Foul by Sam Nicholson (Heart of Midlothian).
Krystian Nowak (Heart of Midlothian) is shown the yellow card for a bad foul.
Foul by Krystian Nowak (Heart of Midlothian).
Paul Paton (St. Johnstone) wins a free kick in the defensive half.
Substitution, Heart of Midlothian. Liam Smith replaces Lennard Sowah because of an injury.
Substitution, Heart of Midlothian. Sam Nicholson replaces Bjorn Johnsen.
Attempt saved. Bjorn Johnsen (Heart of Midlothian) right footed shot from outside the box is saved in the centre of the goal.
Corner, St. Johnstone. Conceded by Krystian Nowak.
Alexandros Tziolis (Heart of Midlothian) is shown the yellow card for a bad foul.
Paul Paton (St. Johnstone) wins a free kick in the defensive half.
Foul by Alexandros Tziolis (Heart of Midlothian).
Attempt missed. Brian Easton (St. Johnstone) left footed shot from outside the box is just a bit too high.
Attempt missed. Perry Kitchen (Heart of Midlothian) right footed shot from outside the box is too high.
Attempt blocked. Esmael Gonçalves (Heart of Midlothian) right footed shot from outside the box is blocked.
Substitution, Heart of Midlothian. Prince Buaben replaces Tasos Avlonitis.
Corner, St. Johnstone. Conceded by Lennard Sowah.
Tam Scobbie (St. Johnstone) wins a free kick in the defensive half.
Foul by Esmael Gonçalves (Heart of Midlothian).