Hearts moved to within two points of second-placed Rangers in the Scottish Premier League after beating St Johnstone at Tynecastle.
The home side were in front as early as the third minute after Rudi Skacel slid home at the end of a swift breakaway.
Suso Santana, Skacel and Stephen Elliott had chances to give Hearts a more commanding lead.
Steven May had a couple of efforts for St Johnstone, his second forcing a save from Marian Kello late on.
Hearts next face an away match with Rangers on Wednesday, with the Ibrox side having two games in hand over Jim Jefferies' side.
The Tynecastle side were looking to bounce back from the midweek 4-0 defeat by Celtic and scored with their first attack after goalkeeper Kello collected a St Johnstone corner and released the ball upfield.
Gary Glen flicked the ball on to the overlapping Craig Thomson, who burst down the right flank and crossed low for Skacel to slide in and slam the ball into the net.
The home side were dominating the opening stages and should have moved further ahead when Lee Wallace's cross was missed by Skacel but fell invitingly for Suso Santana at the back post and only poor control by the winger let St Johnstone off the hook as goalkeeper Peter Enckelman gathered.
Skacel had another attempt minutes later when he ran on to a bouncing loose ball, but the midfielder caught his shot with the outside of his left foot and the effort swerved away from goal.
St Johnstone's Alan Maybury almost caught Enckelman out with defensive header back in to the six-yard box, but the goalkeeper adjusted well to collect and save the defender's blushes.
The visitors threatened when Liam Craig crossed for Murray Davidson on the edge of the box, but the midfielder's volley was well off target.
At the other end, Wallace's long throw was missed by Dave MacKay and Enckelman had to rush from his line to grab the ball as Suso tried to sneak in a header.
MacKay then came to Saints' rescue with a desperate clearance right in front of goal as Skacel lurked in anticipation of a tap-in after Enckelman had flapped at David Obua's driven cross.
St Johnstone manager Derek McInnes took decisive action in an attempt to change the pattern of the match with a double substitution before the break. Maybury and Sam Parkin were withdrawn and Cleveland Taylor and Steven May were introduced.
Club owner Vladimir Romanov was in the crowd to see Hearts' victory
Saints posed more of an attacking threat after the interval and May volleyed wide after turning on the edge of the Hearts box.
Skacel was set up by Wallace after another rampaging run by the full-back, but the midfielder's shot was collected by Enckelman.
The Perth side quickly moved to the other end and Samuel drew a save from Kello.
Chances were few and far between in the closing half-hour, but Hearts' failure to put away their early chances gave Saints the encouragement to probe.
And the introduction of Peter MacDonald from the bench may have seemed ominous for the home crowd given the striker's winning goal in the recent Scottish Cup meeting of the two sides.
But the visitors could not find the right delivery when presented with opportunities to cross into the box.
And Hearts almost ended the game as they started - with a goal - as Andrew Driver turned the St Johnstone defence inside out and created two openings for fellow substitute Elliott, the first effort being off target and the second blocked by Steven Anderson's superb tackle.
St Johnstone made one late charge and Jody Morris's corner was missed by Kello - and Anderson knocked the ball back into the six-yard box, forcing Hearts to clear.
The result was confirmed when May's low drive was claimed at the near post by Kello.
90:00+4:23 The referee blows for the end of the match.
90:00+3:49 Steve May takes a shot. Save made by Marian Kello.
90:00+2:48 Corner taken by Cleveland Taylor, clearance by David Obua.
90:00+2:11 A cross is delivered by Chris Millar, Marian Kello makes a save.
90:00+0:16 Lee Wallace sends in a cross.
89:14 A cross is delivered by Andrew Driver, clearance by Steven Anderson.
88:48 Drilled right-footed shot by Jody Morris. Blocked by Marius Zaliukas.
88:14 Effort from inside the area by Stephen Elliott misses to the right of the target.
87:35 The ball is delivered by Peter MacDonald.
85:23 Chris Millar fouled by Ruben Palazuelos, the ref awards a free kick. Peter Enckelman takes the direct free kick.
84:17 The ball is sent over by David MacKay.
81:08 Free kick awarded for a foul by Andrew Driver on Murray Davidson. Jody Morris crosses the ball in from the free kick, Craig
Thomson manages to make a clearance.
81:08 Booking Andrew Driver goes into the referee's book.
79:05 David Obua gives away a free kick for an unfair challenge on Chris Millar. Free kick taken by Peter Enckelman.
76:53 Substitution Rudolf Skacel goes off and Ryan Stevenson comes on.
75:58 Unfair challenge on Steve May by Craig Thomson results in a free kick. Liam Craig crosses the ball from the free kick left-footed
from left wing, Jody Morris gives away a free kick for an unfair challenge on Ruben Palazuelos. Marian Kello takes the free
73:32 The ball is swung over by Craig Thomson.
72:05 Substitution Peter MacDonald comes on in place of Collin Samuel.
71:49 Booking Murray Davidson is shown a yellow card for unsporting behaviour.
71:24 Centre by Stephen Elliott, Peter Enckelman makes a save.
69:10 The assistant referee signals for offside against Michael Duberry. Marian Kello takes the indirect free kick.
68:26 Rudolf Skacel gives away a free kick for an unfair challenge on Jody Morris. Free kick taken by Liam Craig.
68:08 Substitution Suso Santana goes off and Andrew Driver comes on.
67:51 Substitution Stephen Elliott replaces Gary Glen.
66:54 The ball is sent over by Collin Samuel, Marian Kello makes a save.
65:38 The ball is delivered by Craig Thomson, save made by Peter Enckelman.
65:08 Inswinging corner taken right-footed by Rudolf Skacel from the right by-line, clearance by Liam Craig.
62:31 Craig Thomson gives away a free kick for an unfair challenge on Collin Samuel. Free kick crossed left-footed by Liam Craig
from left channel, clearance by Marius Zaliukas.
61:44 Shot from 25 yards by Suso Santana. Save by Peter Enckelman.
58:54 The ball is sent over by Gary Glen, Michael Duberry manages to make a clearance.
57:10 Free kick awarded for an unfair challenge on Liam Craig by Suso Santana. Peter Enckelman restarts play with the free kick.
55:37 Liam Craig gives away a free kick for an unfair challenge on David Obua. The free kick is delivered right-footed by Craig
Thomson from right channel, clearance by Murray Davidson.
54:25 Free kick awarded for a foul by Collin Samuel on Ian Black. Marius Zaliukas restarts play with the free kick.
53:50 Foul by Ian Black on Jody Morris, free kick awarded. Chris Millar restarts play with the free kick.
53:25 Collin Samuel has an effort at goal. Save made by Marian Kello.
52:56 Shot from 12 yards by Rudolf Skacel. Save made by Peter Enckelman.
52:02 David MacKay concedes a free kick for a foul on David Obua. Free kick taken by Marius Zaliukas.
50:39 Steve May has an effort at goal from outside the penalty box which goes wide left of the goal.
47:14 Effort on goal by Suso Santana from deep inside the penalty area misses to the right of the target.
46:34 Suso Santana challenges Liam Craig unfairly and gives away a free kick. Peter Enckelman takes the direct free kick.
46:34 Booking Suso Santana is cautioned by the ref for dissent.
45:01 The game restarts for the second half.
45:00+1:19 The ref blows to end the first period.
42:53 The ball is crossed by Lee Wallace, Shot from inside the six-yard box by Gary Glen goes wide right of the target.
41:57 Suso Santana challenges Murray Davidson unfairly and gives away a free kick. Peter Enckelman takes the direct free kick.
40:49 Gary Glen fouled by Liam Craig, the ref awards a free kick. Rudolf Skacel takes the direct free kick.
40:06 Unfair challenge on Michael Duberry by Gary Glen results in a free kick. Peter Enckelman takes the direct free kick.
39:41 Substitution Alan Maybury goes off and Steve May comes on.
38:45 Substitution Cleveland Taylor on for Sam Parkin.
37:17 Collin Samuel takes a shot. Save made by Marian Kello.
36:41 Centre by Craig Thomson.
36:19 A cross is delivered by Rudolf Skacel, save by Peter Enckelman.
34:02 Suso Santana produces a cross, save made by Peter Enckelman.
31:29 Rudolf Skacel produces a volleyed left-footed shot from 18 yards. Michael Duberry gets a block in.
30:35 Inswinging corner taken right-footed by Craig Thomson from the left by-line to the near post, Murray Davidson makes a clearance.
29:15 Sam Parkin is caught offside. Marian Kello restarts play with the free kick.
27:11 Suso Santana takes a shot. Save made by Peter Enckelman.
25:54 A cross is delivered by Liam Craig, Shot from just outside the area by Murray Davidson misses to the left of the target.
22:29 Craig Thomson crosses the ball, save by Peter Enckelman.
21:51 Lee Wallace takes a shot. Blocked by Michael Duberry.
19:30 The ball is crossed by Marius Zaliukas, clearance by Alan Maybury.
18:59 Free kick awarded for an unfair challenge on Gary Glen by Murray Davidson. Free kick taken by Lee Wallace.
18:15 Free kick awarded for a foul by Ian Black on Murray Davidson. David MacKay takes the direct free kick.
17:25 Unfair challenge on Ruben Palazuelos by Sam Parkin results in a free kick. Craig Thomson restarts play with the free kick.
16:55 Shot from just outside the box by Rudolf Skacel misses to the left of the goal.
13:52 The ball is delivered by Craig Thomson.
12:40 Collin Samuel challenges Ian Black unfairly and gives away a free kick. Marian Kello restarts play with the free kick.
11:47 Foul by David Obua on David MacKay, free kick awarded. Direct free kick taken by Peter Enckelman.
11:16 The ball is swung over by Ian Black.
10:30 Sam Parkin concedes a free kick for a foul on Ian Black. Free kick taken by Craig Thomson.
9:28 Collin Samuel fouled by Marius Zaliukas, the ref awards a free kick. Michael Duberry takes the free kick.
8:54 The offside flag is raised against Sam Parkin. Marian Kello takes the free kick.
8:25 Lee Wallace crosses the ball.
7:23 The referee blows for offside against David MacKay. Free kick taken by Marian Kello.
4:50 Foul by Suso Santana on Alan Maybury, free kick awarded. Liam Craig takes the free kick.
2:34 The assist for the goal came from Craig Thomson.
2:34 GOAL - Rudi Skacel:Hearts 1 - 0 St Johnstone Rudolf Skacel gets on the score sheet with a goal from inside the penalty area to the bottom right corner of the goal. Hearts
1-0 St Johnstone.
1:53 Inswinging corner taken right-footed by Jody Morris from the left by-line, save by Marian Kello.
0:00 The match begins.
Live text and data provided by The Press Association.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.