ARTICLE AD BOX
St Johnstone hauled themselves off the foot of the Scottish Premiership after beating Hearts to claim just a second home league win of the season.
In a manic start, Ali Crawford finished off a fine team move after just 51 seconds before Nathaniel Atkinson slotted Hearts' sixth-minute equaliser.
The pace dipped but Jamie McCart capitalised on slack defending to head in a priceless second-half winner.
Despite going four games without a league win, Hearts remain third.
The Tynecastle men have a healthy nine-point cushion on fourth-place Hibernian, but his side's form will be a concern for manager Robbie Neilson.
As for St Johnstone, the Perth club's revival continues. They have lost just one of their last six games - winning two and drawing three - and now sit two points above Dundee, who have two games in hand.
Hearts travelled to Perth with a 12-year hoodoo to put to bed. Not since 2010, when St Johnstone were led by Derek McInnes, had the Tynecastle side won a top-flight game at McDiarmid Park.
A 14-game winless run looked like it would extend to 15 when Crawford applied the finishing touch to a free-flowing St Johnstone move inside the first minute.
But in a frantic opening, Hearts equalised when Atkinson slotted in a rebound after Barrie McKay's low, curling shot bounced off the right-hand post.
Both sides, who were missing first-choice goalkeepers Zander Clark and Craig Gordon, were relentless in their push for a second in an end-to-end start.
On-loan Everton forward Ellis Simms stabbed a close-range effort off the near post before St Johnstone's Murray Davidson drilled a half volley just wide at the other end.
The home side continued to probe and the impressive Melker Hallberg saw a long-range effort drift wide of the top corner in the second half.
Hallberg was key to the decisive goal soon after when the former Hibs midfielder's deep free-kick caught Hearts out. The visiting defence's failed offside trap saw McCart ghost to the back post and pick his spot in the far corner.
The remainder of the game was about St Johnstone's dogged defending and Elliot Parish's inspired goalkeeping.
John Souttar first had a close-range header thwarted by Parish before the Scotland defender got his head to another corner late on.
Souttar's flick took a nick and dropped onto the bar, but Parish was able to get his body behind Peter Haring's rebound and spirited St Johnstone saw out a monumental win.
Man of the match - Melker Hallberg
What did we learn?
The full-time scenes in the home dugout and stands told you everything about how big a win this was for St Johnstone.
Before Saturday, they had won just one home league game all season - against Dundee in October.
Since the winter break, Davidson's men have picked up nine Premiership points from seven games. In the 20 games before the shutdown, they had earned just 14.
The Perth side can now go to Ross County, who sit a place and four points above them, next weekend in a buoyant mood.
Is complacency creeping in at Hearts? Neilson's men have won just two of their seven league games in 2022.
It would take an almighty collapse for the Tynecastle side to surrender third spot, but they need to recapture their clinical edge and resolute defending to avoid the gap to fourth narrowing further.
What's next?
Both sides return to action next Saturday (15:00 GMT) as St Johnstone go to Ross County and Hearts travel to St Mirren.
More to follow.
Player of the match
ÇiftçiNadir Çiftçi
with an average of 7.98
St Johnstone
Squad number23Player nameÇiftçi
Squad number17Player nameBair
Squad number15Player nameGilmour
Squad number14Player nameMiddleton
Squad number29Player nameHallberg
Squad number34Player nameButterfield
Squad number22Player nameHendry
Squad number8Player nameDavidson
Squad number27Player nameSang
Squad number21Player nameCrawford
Squad number5Player nameCleary
Squad number4Player nameMcCart
Squad number6Player nameGordon
Squad number3Player nameGallacher
Squad number12Player nameParish
Heart of Midlothian
Squad number18Player nameMcKay
Squad number12Player nameAtkinson
Squad number20Player nameSimms
Squad number17Player nameCochrane
Squad number3Player nameKingsley
Squad number5Player nameHaring
Squad number14Player nameDevlin
Squad number21Player nameSibbick
Squad number30Player nameGinnelly
Squad number4Player nameSouttar
Squad number16Player nameHalliday
Squad number11Player nameMackay-Steven
Squad number9Player nameWoodburn
Squad number13Player nameStewart
Line-ups
St Johnstone
Formation 3-4-1-2
- 12Parish
- 5Cleary
- 6Gordon
- 4McCart
- 27Sang
- 29HallbergSubstituted forGilmourat 74'minutes
- 8Davidson
- 3Gallacher
- 21CrawfordSubstituted forButterfieldat 78'minutesBooked at 90mins
- 14MiddletonSubstituted forBairat 87'minutes
- 22HendryBooked at 36minsSubstituted forÇiftçiat 78'minutes
Substitutes
- 2Brown
- 7May
- 11O'Halloran
- 15Gilmour
- 16Mahon
- 17Bair
- 20Sinclair
- 23Çiftçi
- 34Butterfield
Hearts
Formation 3-4-3
- 13Stewart
- 21Sibbick
- 4Souttar
- 3Kingsley
- 12Atkinson
- 14DevlinSubstituted forHallidayat 65'minutes
- 5Haring
- 17CochraneSubstituted forMackay-Stevenat 65'minutes
- 30GinnellySubstituted forWoodburnat 65'minutes
- 20Simms
- 18McKay
Substitutes
- 6Baningime
- 8McEneff
- 9Woodburn
- 11Mackay-Steven
- 15Moore
- 16Halliday
- 38Pollock
- 39McFarlane
Referee:Grant Irvine
Attendance:4,409
Live Text
Match ends, St. Johnstone 2, Heart of Midlothian 1.
Second Half ends, St. Johnstone 2, Heart of Midlothian 1.
Jacob Butterfield (St. Johnstone) is shown the yellow card for a bad foul.
Andrew Halliday (Heart of Midlothian) wins a free kick in the attacking half.
Foul by Jacob Butterfield (St. Johnstone).
Attempt blocked. Stephen Kingsley (Heart of Midlothian) left footed shot from outside the box is blocked.
Barrie McKay (Heart of Midlothian) wins a free kick in the attacking half.
Foul by Murray Davidson (St. Johnstone).
Peter Haring (Heart of Midlothian) wins a free kick in the attacking half.
Foul by Nadir Çiftçi (St. Johnstone).
Attempt saved. Ellis Simms (Heart of Midlothian) right footed shot from a difficult angle on the right is saved in the top right corner. Assisted by Peter Haring.
Ellis Simms (Heart of Midlothian) wins a free kick on the right wing.
Foul by Jamie McCart (St. Johnstone).
Substitution, St. Johnstone. Theo Bair replaces Glenn Middleton.
Attempt missed. Glenn Middleton (St. Johnstone) left footed shot from the left side of the box misses to the right.
Attempt saved. Ellis Simms (Heart of Midlothian) right footed shot from very close range is saved in the centre of the goal.
Attempt blocked. John Souttar (Heart of Midlothian) header from the centre of the box is blocked. Assisted by Stephen Kingsley with a cross.
Corner, Heart of Midlothian. Conceded by Tony Gallacher.
Stephen Kingsley (Heart of Midlothian) wins a free kick in the defensive half.
Foul by Nadir Çiftçi (St. Johnstone).