St Johnstone continued their impressive form under new manager Steve Lomas with victory over Hearts.

Liam Craig gave the visitors the lead when he pounced to punish a defensive mix-up between Marian Kello and Marius Zaliukas.

Hearts spurned a great chance to equalise when Peter Enckleman saved Jamie Hamill's penalty.

Dave Mackay's spot kick doubled Saints' lead before Mehdi Taouil's late consolation.

St Johnstone started brightly, with Lomas in the stand following his one-match touchline ban.

But the visitors did not appear to be adversely affected by the Northern Irishman's absence from the dugout.

And they took an early lead when Kello and Zaliukas got themselves into a pickle following a high ball into the box and Craig chested the ball down before arrowing a lob into the unguarded net.

Hearts struggled to penetrate a determined St Johnstone rearguard, with Lomas's side looking dangerous on the counter attack.

The hosts spurned a great chance to equalise from the spot after John Sutton was hauled down by David McCracken.

Enckleman saved Hamill's penalty and St Johnstone made them pay when they were awarded a spot kick after Eggert Jonsson clipped Murray Davidson in the box.

Mackay lashed the ball high past Kello, and, although Hearts briefly threatened an equaliser after Taouil lashed the ball home with four minutes remaining, Saints held on.

Lineup, Bookings (4) & Substitutions (5)

Heart of Midlothian

  • 25 Kello
  • 02 Hamill (Obua - 80' )
  • 04 Jonsson Booked
  • 06 Webster (Elliott - 47' )
  • 26 Zaliukas
  • 12 Templeton (Stevenson - 80' )
  • 17 McGowan
  • 19 Skacel
  • 31 Mrowiec
  • 15 Sutton
  • 21 Taouil Booked

Substitutes

  • 30 MacDonald
  • 13 Obua
  • 16 Stevenson
  • 10 Elliott
  • 18 Novikovas
  • 22 Smith
  • 27 Robinson

St Johnstone

  • 01 Enckelman
  • 02 MacKay
  • 03 Davidson
  • 05 Wright (McCracken - 11' Booked )
  • 06 Anderson
  • 07 Millar
  • 08 Davidson
  • 10 Craig Booked
  • 14 Moon
  • 19 Finnigan (Maybury - 75' )
  • 23 Haber

Substitutes

  • 15 Mannus
  • 12 Maybury
  • 18 McCracken
  • 25 Durnan
  • 22 Gibson
  • 27 May
  • 39 Gray
Ref: O'Reilly
Att: 12,815

Match Stats

Shots

7 4

On target

4 1

Corners

9 6

Fouls

12 14

Live Text Commentary

90:00 +3:41 Full time

Full Time The referee ends the match.

90:00 +1:58

Attacking throw-in by Eggert Jonsson (Hearts).

90:00 +1:00

Inswinging corner from right by-line taken right-footed by Ryan Stevenson (Hearts) to centre, resulting in open play.

89:31

Foul by Ryan Stevenson (Hearts) on David MacKay (St Johnstone). Free kick taken right-footed by David MacKay (St Johnstone) from right channel, resulting in open play.

88:42

Foul by Ryan Stevenson (Hearts) on Chris Millar (St Johnstone). Free kick taken left-footed by Liam Craig (St Johnstone) from right channel, resulting in open play.

87:45

Free kick taken right-footed by Adrian Mrowiec (Hearts) from own half, resulting in open play.

87:45 Booking

Booking Liam Craig (St Johnstone) booked for unsporting behaviour.

87:39

Foul by Liam Craig (St Johnstone) on Mehdi Taouil (Hearts).

87:12

Goal kick taken short by Marian Kello (Hearts).

85:40 Goal scored

Goal! - Mehdi Taouil - Hearts 1 - 2 St J'stone Goal by Mehdi Taouil (Hearts) right-footed (top-right of goal) from right channel (20 yards).Hearts 1-2 St Johnstone.

84:48

Attacking throw-in by Ryan McGowan (Hearts).

84:08

Goal kick taken long by Peter Enckelman (St Johnstone).

83:25

Defending throw-in by Adrian Mrowiec (Hearts).

82:03

Attacking throw-in by Ryan McGowan (Hearts).

81:12

Foul by John Sutton (Hearts) on David McCracken (St Johnstone). Free kick taken right-footed by Peter Enckelman (St Johnstone) from own half, resulting in open play.

79:26

Inswinging corner from left by-line taken right-footed by Mehdi Taouil (Hearts) to centre, clearance by Alan Maybury (St Johnstone).

79:26 Substitution

Substitution Hearts substitution: Jamie Hamill replaced by David Obua (tactical).

79:26 Substitution

Substitution Hearts substitution: David Templeton replaced by Ryan Stevenson (tactical).

79:03

Attacking throw-in by Ryan McGowan (Hearts).

78:03 Goal scored

Goal! - David MacKay - Hearts 0 - 2 St J'stone Power penalty scored by David MacKay. Hearts 0-2 St Johnstone.

77:12 Booking

Booking Eggert Jonsson (Hearts) booked for unsporting behaviour.

77:10

Foul by Eggert Jonsson (Hearts) on Murray Davidson (St Johnstone).

75:39

Foul by Alan Maybury (St Johnstone) on Mehdi Taouil (Hearts). Free kick taken right-footed by Mehdi Taouil (Hearts) from right channel, resulting in open play.

74:53 Substitution

Substitution St Johnstone substitution: Carl Finnigan replaced by Alan Maybury (tactical).

73:37

Attacking throw-in by Jamie Hamill (Hearts).

73:06

Defending throw-in by Ryan McGowan (Hearts).

72:50

Goal kick taken short by Marian Kello (Hearts).

71:56

Cross by Ryan McGowan (Hearts), clearance by David MacKay (St Johnstone).

71:22

Cross by Eggert Jonsson (Hearts), save (punched) by Peter Enckelman (St Johnstone).

70:31

Foul by Carl Finnigan (St Johnstone) on Marius Zaliukas (Hearts). Free kick taken right-footed by Mehdi Taouil (Hearts) from left channel (35+ yards), clearance by Steven Anderson (St Johnstone).

66:25

Foul by Eggert Jonsson (Hearts) on Liam Craig (St Johnstone). Free kick drilled left-footed by Liam Craig (St Johnstone) from right channel (35 yards), resulting in open play. Carl Finnigan (St Johnstone) caught offside. Free kick taken left-footed by Marian Kello (Hearts) from own half, resulting in open play.

64:28

Cross by Jamie Hamill (Hearts), clearance by Steven Anderson (St Johnstone).

63:16

Corner taken by Jamie Hamill.

63:16 Penalty

Penalty taken by Jamie Hamill saved by Peter Enckelman. Hearts 0-1 St Johnstone.

62:24

John Sutton fouled by David McCracken, the ref awards a Penalty.

61:50

Attacking throw-in by Stephen Elliott (Hearts).

61:05

Shot by Mehdi Taouil (Hearts) right-footed from left channel (25 yards), save (caught) by Peter Enckelman (St Johnstone).

60:20

Inswinging corner from left by-line taken right-footed by Jamie Hamill (Hearts) to far post, clearance by David MacKay (St Johnstone).

59:51

Attacking throw-in by John Sutton (Hearts).

59:35

Goal kick taken long by Peter Enckelman (St Johnstone).

58:48

Attacking throw-in by Jamie Hamill (Hearts).

58:21

Foul by Carl Finnigan (St Johnstone) on Ryan McGowan (Hearts). Free kick taken right-footed by Marian Kello (Hearts) from own half, resulting in open play.

57:56

Foul by Jamie Hamill (Hearts) on Liam Craig (St Johnstone). Free kick taken right-footed by Callum Davidson (St Johnstone) from own half, resulting in open play.

57:37

Defending throw-in by Callum Davidson (St Johnstone).

57:15

Shot by Liam Craig (St Johnstone) left-footed from right channel (25 yards), missed right. Goal kick taken short by Marian Kello (Hearts).

56:22

Cross by Liam Craig (St Johnstone), shot by Stephen Elliott (Hearts) left-footed from left channel (18 yards), save (caught) by Peter Enckelman (St Johnstone).

55:48

Inswinging corner from right by-line taken left-footed by Liam Craig (St Johnstone) to centre, clearance by Adrian Mrowiec (Hearts).

55:12

Attacking throw-in by Jamie Hamill (Hearts).

54:47

Attacking throw-in by Jamie Hamill (Hearts).

54:19

Defending throw-in by Callum Davidson (St Johnstone).

53:05

Defending throw-in by David MacKay (St Johnstone).

51:23

Shot by Eggert Jonsson (Hearts) right-footed from right channel (25 yards), clearance by Murray Davidson (St Johnstone). Inswinging corner from left by-line taken right-footed by Jamie Hamill (Hearts) to far post, clearance by Steven Anderson (St Johnstone).

50:08

Foul by Stephen Elliott (Hearts) on Murray Davidson (St Johnstone). Free kick taken left-footed by Liam Craig (St Johnstone) from right channel, resulting in open play.

48:16

Foul by Steven Anderson (St Johnstone) on David Templeton (Hearts). Free kick taken right-footed by Jamie Hamill (Hearts) from left channel (18 yards), clearance by Liam Craig (St Johnstone).

47:07

Defending throw-in by Callum Davidson (St Johnstone).

46:35

Shot by Liam Craig (St Johnstone) right-footed from right channel (12 yards), missed left.

46:10

Attacking throw-in by Jamie Hamill (Hearts).

46:02 Substitution

Substitution Hearts substitution: Andy Webster replaced by Stephen Elliott (injury).

45:39

Cross by Mehdi Taouil (Hearts), resulting in open play.

45:01

The second half kicks off.

45:00 +0:29 Half time

Half Time The whistle is blown to end the first half.

44:45

Goal kick taken long by Marian Kello (Hearts).

44:31

Attacking throw-in by David MacKay (St Johnstone).

43:44

Carl Finnigan (St Johnstone) caught offside. Free kick taken right-footed by Marian Kello (Hearts) from own half, resulting in open play.

43:22

Attacking throw-in by Callum Davidson (St Johnstone).

43:16

Goal kick taken long by Marian Kello (Hearts).

42:23

Attacking throw-in by Callum Davidson (St Johnstone).

41:50

Attacking throw-in by Rudi Skacel (Hearts).

41:36

Defending throw-in by Ryan McGowan (Hearts).

40:36

Foul by Carl Finnigan (St Johnstone) on Andy Webster (Hearts). Free kick taken right-footed by Marian Kello (Hearts) from own half, resulting in open play.

39:33

Inswinging corner from right by-line taken left-footed by Rudi Skacel (Hearts) to far post, resulting in open play. Foul by Andy Webster (Hearts) on David McCracken (St Johnstone). Free kick taken right-footed by Peter Enckelman (St Johnstone) from own half, resulting in open play.

39:12

Attacking throw-in by Jamie Hamill (Hearts).

38:31

Goal kick taken long by Marian Kello (Hearts).

37:47

Attacking throw-in by Callum Davidson (St Johnstone).

36:06

Attacking throw-in by David MacKay (St Johnstone).

35:37

Attacking throw-in by Ryan McGowan (Hearts).

35:22

Attacking throw-in by Ryan McGowan (Hearts).

33:01

Foul by David McCracken (St Johnstone) on John Sutton (Hearts). Free kick curled right-footed by Jamie Hamill (Hearts) from left channel (30 yards), save (caught) by Peter Enckelman (St Johnstone). John Sutton (Hearts) caught offside. Free kick taken right-footed by Peter Enckelman (St Johnstone) from own half, resulting in open play.

32:36

Attacking throw-in by David MacKay (St Johnstone).

32:23

Attacking throw-in by David MacKay (St Johnstone).

32:15

Cross by Carl Finnigan (St Johnstone), clearance by Marius Zaliukas (Hearts).

32:09

Attacking throw-in by David MacKay (St Johnstone).

31:46

Attacking throw-in by David MacKay (St Johnstone).

30:09

Free kick taken right-footed by David Templeton (Hearts) from left channel, resulting in open play.

30:09 Booking

Booking David McCracken (St Johnstone) booked for unsporting behaviour.

30:02

Foul by David McCracken (St Johnstone) on David Templeton (Hearts).

28:49

Cross by Rudi Skacel (Hearts), clearance by Callum Davidson (St Johnstone).

27:48

Outswinging corner from left by-line taken left-footed by Liam Craig (St Johnstone) to far post, clearance by Rudi Skacel (Hearts).

27:03

Cross by David MacKay (St Johnstone), resulting in ball out of play. Goal kick taken long by Marian Kello (Hearts).

26:07 Booking

Booking Mehdi Taouil (Hearts) booked for unsporting behaviour.

25:41

Foul by Mehdi Taouil (Hearts) on Liam Craig (St Johnstone). Free kick taken right-footed by Peter Enckelman (St Johnstone) from own half, resulting in open play.

24:56

Cross by David Templeton (Hearts), clearance by Liam Craig (St Johnstone). Inswinging corner from left by-line taken right-footed by Jamie Hamill (Hearts) to short, clearance by Peter Enckelman (St Johnstone).

24:45

Attacking throw-in by David Templeton (Hearts).

24:38

Cross by Mehdi Taouil (Hearts), clearance by Kevin Moon (St Johnstone).

24:29

Attacking throw-in by Jamie Hamill (Hearts).

23:53

Inswinging corner from right by-line taken left-footed by Liam Craig (St Johnstone) to centre, save (caught) by Marian Kello (Hearts).

23:10

Foul by Eggert Jonsson (Hearts) on Carl Finnigan (St Johnstone). Free kick taken right-footed by Steven Anderson (St Johnstone) from own half, resulting in open play.

23:00

Defending throw-in by Callum Davidson (St Johnstone).

21:40

Foul by Ryan McGowan (Hearts) on David MacKay (St Johnstone). Free kick taken right-footed by David MacKay (St Johnstone) from own half, resulting in open play. Marcus Haber (St Johnstone) caught offside. Free kick taken right-footed by Marian Kello (Hearts) from own half, resulting in open play.

21:05

Foul by Marcus Haber (St Johnstone) on Marius Zaliukas (Hearts). Free kick taken right-footed by Andy Webster (Hearts) from own half, resulting in open play.

19:58

Cross by Ryan McGowan (Hearts), clearance by Callum Davidson (St Johnstone). Inswinging corner from left by-line taken right-footed by Jamie Hamill (Hearts) to far post, resulting in ball out of play. Goal kick taken long by Peter Enckelman (St Johnstone).

19:03

Foul by Murray Davidson (St Johnstone) on Eggert Jonsson (Hearts). Free kick taken right-footed by Marius Zaliukas (Hearts) from own half, resulting in open play.

18:24

Defending throw-in by Callum Davidson (St Johnstone).

18:15

Cross by Mehdi Taouil (Hearts), clearance by Steven Anderson (St Johnstone).

17:52

Attacking throw-in by Jamie Hamill (Hearts).

17:43

Cross by Mehdi Taouil (Hearts), clearance by David McCracken (St Johnstone).

16:43

Cross by David Templeton (Hearts), save (caught) by Peter Enckelman (St Johnstone).

15:55

Cross by Jamie Hamill (Hearts), clearance by Steven Anderson (St Johnstone).

15:39

Cross by Mehdi Taouil (Hearts), clearance by Steven Anderson (St Johnstone). Attacking throw-in by David MacKay (St Johnstone).

15:18

Foul by Murray Davidson (St Johnstone) on Mehdi Taouil (Hearts). Free kick taken right-footed by Mehdi Taouil (Hearts) from own half, resulting in open play.

15:01

Defending throw-in by Ryan McGowan (Hearts).

13:50

Defending throw-in by David MacKay (St Johnstone).

13:25

Inswinging corner taken by Rudi Skacel from the right by-line.

12:32

Attacking throw-in by David MacKay (St Johnstone).

12:05

Goal kick taken long by Marian Kello (Hearts).

11:50

Attacking throw-in by David MacKay (St Johnstone).

11:23

Goal kick taken short by Marian Kello (Hearts).

10:22 Substitution

Substitution St Johnstone substitution: Frazer Wright replaced by David McCracken (injury).

7:47

Inswinging corner from right by-line taken left-footed by Liam Craig (St Johnstone) to far post, clearance by Adrian Mrowiec (Hearts).

7:17

Inswinging corner from left by-line taken left-footed by Liam Craig (St Johnstone) to far post, clearance by Andy Webster (Hearts).

6:55

Defending throw-in by Jamie Hamill (Hearts).

6:26

Foul by Eggert Jonsson (Hearts) on Carl Finnigan (St Johnstone). Free kick taken right-footed by Steven Anderson (St Johnstone) from right channel, resulting in open play.

5:25

Attacking throw-in by David MacKay (St Johnstone).

4:56

Attacking throw-in by David MacKay (St Johnstone).

4:34

Foul by Steven Anderson (St Johnstone) on John Sutton (Hearts). Free kick taken right-footed by Ryan McGowan (Hearts) from left channel, resulting in open play.

2:47 Goal scored

Goal! - Liam Craig - Hearts 0 - 1 St J'stone Goal by Liam Craig (St Johnstone) left-footed (top-right of goal) from right channel (18 yards).Hearts 0-1 St Johnstone.

1:38

Carl Finnigan (St Johnstone) caught offside. Free kick taken left-footed by Marius Zaliukas (Hearts) from own half, resulting in open play.

1:26

Attacking throw-in by David MacKay (St Johnstone).

0:54

Foul by Chris Millar (St Johnstone) on Eggert Jonsson (Hearts). Free kick taken right-footed by Ryan McGowan (Hearts) from own half, passed.

0:41

Defending throw-in by Ryan McGowan (Hearts).

0:30

Attacking throw-in by David MacKay (St Johnstone).

0:17

Attacking throw-in by David MacKay (St Johnstone).

0:00

The game kicks-off.

Live data and text provided by our data suppliers