Danny Wilson's stoppage-time header denied St Johnstone all three points after a dramatic late fightback as three players were sent off in Perth.

Stevie May's hat-trick - which included two penalties - put Saints in command despite Steven Anderson's red card.

Dale Carrick had headed Hearts' first before May completed his treble.

But, after Sam Nicholson reduced arrears, Saints goalkeeper Alan Mannus and Hearts' Ryan Stevenson were sent off, and Wilson netted the equaliser.

Hearts remain marooned at the bottom of the Scottish Premiership without a win in 11 games, but they ended a run of three straight defeats with a spirited point to mark Billy Brown's last game as assistant before he leaves the cost-cutting administration-hit club.

The visitors started with a shoot-on-sight policy - not a bad one on such a slippery surface - and Stevenson sent an early long-range drive that would have threatened to burst the net had it not been straight at goalkeeper Mannus.

However, Saints were soon in the ascendency, inspired by the nimble feet of May and Nigel Hasselbaink, a pairing that will be giving Hearts' defenders nightmares for days to come.

St Johnstone and Hearts players

The end of the match would prove to be eventful

May had a netbound shot blocked in front of goal and another diverted by a neat Murray Davidson back-heel that goalkeeper Jamie MacDonald smothered on the line.

The match became more tetchy when Jamie Hamill and Hasselbaink exchanged strong words over who should take a drop ball and it boiled over seconds later with Anderson's dismissal.

Gary McDonald's poor passback was cut out by Carrick and the midfielder was taken out by the St Johnstone defender.

The incident took place a full 30 yards from goal, but referee Brian Colvin ruled that it was a goalscoring opportunity and showed the red card.

With Gary Miller already on for Lee Croft, Saints manager Tommy Wright was forced to further re-organise his midfield when Davidson was stretchered off after landing awkwardly.

However, Saints continued to trouble the visiting defence and, when Kevin McHattie looked to hold Hasselbaink as the striker rolled him inside the penalty box, Colvin appeared to take his assistant's advice to award a penalty that was stuck away into the corner by May.

Saints stretched their lead after the break when May pounced on a fine Hasselbaink through ball and, although his first effort was blocked by goalkeeper MacDonald, the striker forced the ball over the line via deflections off Wilson and Dylan McGowan.

The visitors were rarely a threat despite their numerical advantage but were suddenly back in the game when a McHattie cross was nodded home by Carrick from close range at the back post.

Any thoughts of an unlikely comeback appeared to be ended minutes later following an even more controversial penalty kick.

May flicked the ball against McHattie from point-blank range and, after the officials ruled that it had come off the defender's arm and not his chest, the striker produced another clinical spot kick for his 19th goal of the season.

However, in a rousing finish, substitute Nicholson sliced the ball home from close range, after which Mannus and Stevenson were shown red cards following an angry goalmouth melee.

And when Wilson headed in a Jamie Hamill cross, it was Hearts who were celebrating to deny Saints a third straight home win.

Lineup, Bookings (7) & Substitutions (6)

St Johnstone

  • 01 Mannus Dismissed
  • 02 Mackay
  • 03 Scobbie
  • 08 McDonald
  • 06 Anderson Dismissed
  • 05 Wright
  • 07 Millar
  • 18 Davidson (Wotherspoon - 37' Booked )
  • 17 May
  • 22 Croft (Miller - 24' )
  • 11 Hasselbaink (Cregg - 70' )

Substitutes

  • 04 Cregg
  • 10 Wotherspoon
  • 15 Banks
  • 19 Miller
  • 20 Brown
  • 29 O'Halloran
  • 31 Easton

Heart of Midlothian

  • 01 MacDonald
  • 16 McKay Booked
  • 03 McHattie Booked
  • 02 Hamill
  • 04 Wilson
  • 05 McGowan (Nicholson - 45' )
  • 18 Carrick
  • 20 Tapping Booked (Oliver - 69' )
  • 12 Paterson
  • 07 Stevenson Dismissed
  • 17 Smith (King - 79' )

Substitutes

  • 19 King
  • 21 Hamilton
  • 26 King
  • 28 Nicholson
  • 29 Oliver
  • 30 McGhee
  • 31 Beith
Ref: Brian Colvin
Att: 3,395

Match Stats

Shots

12 15

On target

5 8

Corners

4 9

Fouls

8 11

Live Text Commentary

Full time

Full Time Match ends, St Johnstone 3, Hearts 3.

90:00 +3:20 Full time

Full Time Second Half ends, St Johnstone 3, Hearts 3.

90:00 +3:10

Attempt missed. Patrick Cregg (St Johnstone) right footed shot from outside the box is just a bit too high.

90:00 +1:46

Chris Millar (St Johnstone) wins a free kick in the defensive half.

90:00 +1:46

Foul by Brad McKay (Hearts).

90:00 +0:14 Goal scored

Goal! Goal! St Johnstone 3, Hearts 3. Danny Wilson (Hearts) header from very close range to the top right corner.

89:58

Corner, Hearts. Conceded by Frazer Wright.

89:49

Callum Paterson (Hearts) hits the bar with a header from the centre of the box.

89:01 Dismissal

Dismissal Alan Mannus (St Johnstone) is shown the red card for fighting.

88:42 Dismissal

Dismissal Ryan Stevenson (Hearts) is shown the red card for fighting.

88:28 Goal scored

Goal! Goal! St Johnstone 3, Hearts 2. Sam Nicholson (Hearts) right footed shot from very close range to the centre of the goal.

86:15

Corner, Hearts. Conceded by Alan Mannus.

85:35

Corner, Hearts. Conceded by Gary Miller.

85:09

Attempt saved. Gary Oliver (Hearts) right footed shot from outside the box is saved in the top centre of the goal.

84:18

Attempt missed. Steve May (St Johnstone) right footed shot from outside the box is high and wide to the right.

83:41

Corner, Hearts. Conceded by Alan Mannus.

82:35

Corner, Hearts. Conceded by Alan Mannus.

78:18 Substitution

Substitution Substitution, Hearts. Billy King replaces David Smith.

77:21

Attempt blocked. Steve May (St Johnstone) right footed shot from outside the box is blocked.

76:22

Steve May (St Johnstone) wins a free kick in the defensive half.

76:22

Foul by Brad McKay (Hearts).

75:00

Attempt saved. Brad McKay (Hearts) right footed shot from outside the box is saved in the top right corner.

71:57

Attempt missed. Sam Nicholson (Hearts) right footed shot from outside the box misses to the right.

71:19

Corner, Hearts. Conceded by Gary McDonald.

70:54

Foul by Chris Millar (St Johnstone).

70:54

Sam Nicholson (Hearts) wins a free kick in the defensive half.

69:51 Substitution

Substitution Substitution, St Johnstone. Patrick Cregg replaces Nigel Hasselbaink.

68:43 Substitution

Substitution Substitution, Hearts. Gary Oliver replaces Callum Tapping.

68:17

Attempt missed. Steve May (St Johnstone) right footed shot from outside the box is too high.

66:13

Nigel Hasselbaink (St Johnstone) wins a free kick on the right wing.

66:13

Foul by Ryan Stevenson (Hearts).

65:50

Corner, St Johnstone. Conceded by Kevin McHattie.

62:41 Booking

Booking David Wotherspoon (St Johnstone) is shown the yellow card.

62:36

Foul by David Wotherspoon (St Johnstone).

62:36

Sam Nicholson (Hearts) wins a free kick on the left wing.

61:19 Goal scored

Goal! Goal! St Johnstone 3, Hearts 1. Steve May (St Johnstone) converts the penalty with a right footed shot to the bottom right corner.

61:06

Penalty conceded by Kevin McHattie (Hearts) with a hand ball in the penalty area.

57:57 Goal scored

Goal! Goal! St Johnstone 2, Hearts 1. Dale Carrick (Hearts) header from very close range to the bottom left corner.

57:22

Corner, Hearts. Conceded by Gary McDonald.

56:08

Attempt saved. Kevin McHattie (Hearts) right footed shot from outside the box is saved in the top centre of the goal.

52:50

Attempt missed. Chris Millar (St Johnstone) right footed shot from outside the box is high and wide to the right.

49:40 Booking

Booking Brad McKay (Hearts) is shown the yellow card.

49:36

Nigel Hasselbaink (St Johnstone) wins a free kick in the defensive half.

49:36

Foul by Brad McKay (Hearts).

48:06 Goal scored

Goal! Goal! St Johnstone 2, Hearts 0. Steve May (St Johnstone) right footed shot from very close range to the centre of the goal. Assisted by Nigel Hasselbaink.

45:00

Second Half begins St Johnstone 1, Hearts 0.

45:00 Substitution

Substitution Substitution, Hearts. Sam Nicholson replaces Dylan McGowan.

45:00 +4:01 Half time

Half Time First Half ends, St Johnstone 1, Hearts 0.

45:00 +1:10

Foul by Nigel Hasselbaink (St Johnstone).

45:00 +1:10

Dylan McGowan (Hearts) wins a free kick on the left wing.

40:50 Booking

Booking Callum Tapping (Hearts) is shown the yellow card.

40:45

Steve May (St Johnstone) wins a free kick in the defensive half.

40:45

Foul by Callum Tapping (Hearts).

39:47

Corner, Hearts. Conceded by Frazer Wright.

38:43 Goal scored

Goal! Goal! St Johnstone 1, Hearts 0. Steve May (St Johnstone) converts the penalty with a right footed shot to the bottom right corner.

37:54 Booking

Booking Kevin McHattie (Hearts) is shown the yellow card.

37:53

Penalty St Johnstone. Nigel Hasselbaink draws a foul in the penalty area.

37:53

Penalty conceded by Kevin McHattie (Hearts) after a foul in the penalty area.

37:14

Corner, St Johnstone. Conceded by Brad McKay.

36:31 Substitution

Substitution Substitution, St Johnstone. David Wotherspoon replaces Murray Davidson because of an injury.

36:22

Delay over. They are ready to continue.

36:21

Delay over. They are ready to continue.

34:06

Delay in match Murray Davidson (St Johnstone) because of an injury.

32:00

Attempt saved. Steve May (St Johnstone) right footed shot from the right side of the box is saved in the centre of the goal.

30:58

Attempt missed. Dale Carrick (Hearts) right footed shot from outside the box misses to the right.

29:45

Nigel Hasselbaink (St Johnstone) wins a free kick in the defensive half.

29:45

Foul by Dylan McGowan (Hearts).

24:20

Attempt missed. Ryan Stevenson (Hearts) left footed shot from outside the box misses to the left.

23:23 Substitution

Substitution Substitution, St Johnstone. Gary Miller replaces Lee Croft.

22:52

Foul by Nigel Hasselbaink (St Johnstone).

22:52

Jamie Hamill (Hearts) wins a free kick in the attacking half.

21:38

Attempt saved. Kevin McHattie (Hearts) left footed shot from outside the box is saved in the centre of the goal.

20:31 Dismissal

Dismissal Steven Anderson (St Johnstone) is shown the red card for a bad foul.

20:22

Foul by Steven Anderson (St Johnstone).

20:22

Dale Carrick (Hearts) wins a free kick in the attacking half.

18:08

Delay in match Brad McKay (Hearts) because of an injury.

15:50

Delay over. They are ready to continue.

15:49

Delay over. They are ready to continue.

15:31

Delay in match Murray Davidson (St Johnstone) because of an injury.

15:07

Attempt missed. Jamie Hamill (Hearts) right footed shot from outside the box misses to the right.

14:31

Attempt missed. David Smith (Hearts) right footed shot from outside the box is too high.

12:02

Lee Croft (St Johnstone) wins a free kick in the attacking half.

12:02

Foul by Callum Tapping (Hearts).

11:15

Foul by Lee Croft (St Johnstone).

11:15

Kevin McHattie (Hearts) wins a free kick in the attacking half.

10:20

Corner, St Johnstone. Conceded by Danny Wilson.

10:05

Attempt blocked. Steve May (St Johnstone) right footed shot from the centre of the box is blocked.

9:41

Corner, Hearts. Conceded by David Mackay.

7:07

Foul by Nigel Hasselbaink (St Johnstone).

7:07

Jamie MacDonald (Hearts) wins a free kick in the defensive half.

6:25

Attempt saved. Steve May (St Johnstone) right footed shot from the centre of the box is saved in the centre of the goal.

5:23

Nigel Hasselbaink (St Johnstone) wins a free kick in the defensive half.

5:23

Foul by Callum Paterson (Hearts).

4:47

Attempt blocked. Steve May (St Johnstone) right footed shot from outside the box is blocked.

4:18

Corner, St Johnstone. Conceded by Dylan McGowan.

3:57

Steve May (St Johnstone) wins a free kick in the defensive half.

3:57

Foul by Brad McKay (Hearts).

2:52

Attempt missed. Ryan Stevenson (Hearts) right footed shot from outside the box misses to the right.

2:18

Attempt saved. Ryan Stevenson (Hearts) left footed shot from outside the box is saved in the top centre of the goal.

0:57

Hand ball by Lee Croft (St Johnstone).

0:00

First Half begins.

0:00

Lineups are announced and players are warming up.

Live data and text provided by our data suppliers