Heart of Midlothian 1-0 St Johnstone
- Published
Hearts moved up to fifth place in the Scottish Premiership as a deflected strike from Kyle Lafferty was enough to edge out St Johnstone at Murrayfield.
The centre forward controlled a shot from Harry Cochrane and his effort on the turn nicked off Joe Shaughnessy to deceive goalkeeper Alan Mannus.
There was little to excite the crowd before the breakthrough on 74 minutes.
Cochrane, just 16, struck the post with the final kick of the ball after a stoppage-time breakaway.
Saints, who drop to sixth, managed just one weak shot on target as they fell to a third consecutive defeat.
The visitors were looking to extend an eight-game unbeaten run against the Edinburgh side but found Hearts in resolute mood at their temporary home.
Lafferty flashed a header wide and Hearts captain Christophe Berra forced a save from Mannus, both chances coming from corners.
Teenager Cochrane was introduced after the interval, with Prince Buaben, who was on a booking, making way.
Jamie Walker has been a hugely influential player for Hearts in recent seasons and the midfielder blasted a volley over the crossbar from the edge of the box and then set up Isma Goncalves, who could only shoot straight into the arms of Mannus.
Saints' solitary glimpse of goal came when David Wotherspoon jinked into the box after good work by O'Halloran but he failed to trouble Jon McLaughlin with a tame strike.
The crowd of 18,534 were becoming impatient before the deadlock was broken.
Callachan's effort from distance was intercepted by Lafferty and the Northern Ireland international had time to spin and fire off a shot.
Defender Shaughnessy's attempted block only took the ball away from Mannus and the ball slipped inside the wrong-footed keeper's post.
It was Lafferty's eighth goal since joining the club from Norwich City in the summer.
With St Johnstone chasing an equaliser in time added on, Hearts came close to a second when the impressive Cochrane crashed an angled shot off the base of the post.
Post-match reaction
Hearts manager Craig Levein: "It was a bit of a war of attrition, but we were the team that managed to see the game out.
"I'm pleased. We don't have a good record against St Johnstone recently.
"Kyle Lafferty gives everything every week and he's still getting up to speed. I think he deserved his goal for his endeavour.
"He got a goal today, but I was even more happy with his attitude."
St Johnstone manager Tommy Wright: "It was a poor game and neither side probably deserved to win.
"Hearts, unfortunately, got the good fortune at the goal.
"In the first half, we got into good positions, but we couldn't cross a road at the moment. I think it's our final ball and it's been like that for a few weeks now.
"The beauty of a midweek game is that we have a chance to bounce back on Tuesday [at home to Ross County]."