A controversial second-half penalty from St Johnstone winger Matthew Kennedy denied Hearts a first victory in seven games in a stormy tussle at McDiarmid Park.
Arnaud Djoum had given the visitors a sixth-minute lead but Blair Alston equalised for Saints just 14 minutes later.
Olly Bozanic then headed Hearts back in front in the 41st minute before Kennedy's spot-kick ensured the clash finished 2-2.
Hearts manager Craig Levein's feelings at Andrew Dallas' decision to point to the spot were clear at full-time as he strode onto the pitch to have words with the referee.
Aside from Gareth McAuley's own goal in Sunday's 2-1 defeat to Rangers, Hearts had not scored for seven matches heading into this encounter.
All that changed after just five minutes.
Full-back Michael Smith had just seen a long throw repelled by the Saints defence but he found the space to float in a cross moments later.
Djoum was the player who rose highest to loop his header past home goalkeeper Zander Clark.
It was the first goal conceded by the Perth outfit in nearly 10 hours of football yet they quickly shrugged off the blow to draw level.
David Wotherspoon drifted past Smith on the left edge of the box and chipped his cross into the heart of the penalty box, where Alston came racing in to volley high into the roof of the net.
The goal buoyed Saints and they went in search of another – and it almost came in the 25th minute.
Kennedy lifted an excellent ball over the top to find Alston's run from deep but Zdenek Zlamal was equal to his left-footed effort.
When Saints recycled possession, Tony Watt flicked Wotherspoon's cross on target but Zlamal held on.
Peter Haring drilled a low shot wide for Hearts but St Johnstone now had the upper hand and Demetri Mitchell was forced to head Wotherspoon's cross behind as the home team upped the ante in search of a second.
But, instead, it was Hearts who restored their lead, and again the home defence was posted missing.
Olly Lee curled in a free-kick from the left touchline and Bozanic was unmarked as he headed in from six yards.
Liam Craig drilled a low drive just wide two minutes later but the home side were struck a blow when left-back Scott Tanser's substitution at half-time forced them into three positional changes in their back four.
Play became feisty as the second half progressed and it was a moment of controversy that drew Saints level.
Substitute Liam Gordon challenged for an aerial ball under pressure from Haring and Dallas pointed to the spot.
Kennedy made no mistake by sending Zlamal the wrong way.
ga('create', 'UA-72310761-1', 'auto', {'name': 'pacontentapi'});
ga('pacontentapi.set', 'referrer', location.origin);
ga('pacontentapi.set', 'dimension1', 'By Press Association Sport staff');
ga('pacontentapi.set', 'dimension2', 'b56929ac-412c-4a32-8d1c-b5963a1a182e');
ga('pacontentapi.set', 'dimension3', 'paservice:sport,paservice:sport:club-news,paservice:sport:football,paservice:sport:match-reports');
ga('pacontentapi.set', 'dimension6', 'story');
ga('pacontentapi.set', 'dimension7', 'composite');
ga('pacontentapi.set', 'dimension8', null);
ga('pacontentapi.set', 'dimension9', 'sport:football');
ga('pacontentapi.send', 'pageview', { 'location': location.href, 'page': (location.pathname + location.search + location.hash), 'title': 'Controversial penalty from Matthew Kennedy denies Hearts'});