Ten-man Dundee staged a plucky comeback to earn a deserved point in John Brown's first game as manager.
Despite a promising opening half-hour, they fell behind to a Steven MacLean header but levelled through John Baird.
St Johnstone seemed destined for victory when Dundee had Declan Gallagher sent off and Dave Mackay curled home the resultant free-kick.
But in the dying moments, substitute Mark Stewart smashed the ball past Alan Mannus to level the match.
On balance Brown's men were worth the point and will feel they might have won it had they been able to keep 11 men on the park.
Despite the media hubbub surrounding Brown's appointment and the supposed supporter discontent, there were no audible rumblings from the home fans as the teams emerged.
Brown stood, dressed in a charcoal suit, at the edge of his technical area, occasionally barking instructions as his side earned the upper hand in the opening stages.
Gary Harkins flashed a header wide before Mannus leapt to his left to push a Ryan Conroy free-kick away, with the ball looking destined for the top corner.
Baird fired wide from the edge of the box, Nicky Riley headed straight at Mannus and the keeper then spilled another Conroy free-kick only to recover sufficiently to prevent Baird from knocking in the rebound.
Given the season Dundee have been having, it was perhaps little surprise that St Johnstone opened the scoring very much against the run of play after 35 minutes.
A low drive by Paddy Cregg ricocheted off the knee of Rab Douglas, flying high into the air. When it came down, MacLean was first to it to nod into the net as Douglas struggled to regain his positioning.
Dundee's luck was out again moments later as Harkins' shot came back off the base of Mannus's right-hand post.
But they were at last rewarded when a Conroy corner from the right was flicked on at the near post by Lewis Toshney, leaving Baird to tap in the equaliser.
The home side initially found chances harder to come by after the break, but around the hour-mark they forced Mannus to make three excellent saves.
First, he was quickly off his line to smother the ball to deny Harkins a wonderful individual goal, then he showed quick reactions to keep out Toshney's close-range shot and he narrowed the angle well to thwart Conroy, who should probably have scored following a wonderful pass from the outstanding Harkins.
In a pivotal 60 seconds though, Dundee were reduced to ten men - Gallagher shown a straight red card for pulling back MacLean as he bore down on goal - before Mackay sent a superb free-kick past the flailing arm of Douglas and into the net.
That double-blow had the bottom side reeling and Saints could have had a third as Liam Craig, MacLean and Gregory Tade all went close.
But with the home fans seemingly resigned to another defeat, Stewart picked the ball up behind the St Johnstone defence and fired fiercely past the keeper.
While it's not a result that will keep Dundee in the Scottish Premier League, they showed some of the character, spirit and quality their manager has demanded of them.
A similar performance at the weekend would make for an intriguing Scottish Cup tie against their city rivals United.
Live Text Commentary
Full Time The match has reached full-time.90:00 +1:51
Shot from long range by Ryan Conroy misses to the left of the net.90:00 +0:57
Outswinging corner taken by Liam Craig from the left by-line.90:00 +0:10
Corner from left by-line taken by Liam Craig.88:29
Assist by James McAlister.88:29 Goal scored
Goal! - Mark Stewart - Dundee 2 - 2 St J'stone Mark Stewart finds the net with a goal from inside the box to the bottom left corner of the goal. Dundee 2-2 St Johnstone.87:44
Inswinging corner taken from the right by-line by Liam Craig.86:42 Substitution
Substitution Steven Anderson replaces Chris Millar.85:10
Free kick awarded for a foul by Mark Stewart on Thomas Scobbie. Free kick taken by Alan Mannus.84:23
The referee blows for offside. Free kick taken by Alan Mannus.82:33
Ryan Conroy takes the free kick.82:33 Booking
Booking The referee shows Chris Millar a yellow card.82:28
Unfair challenge on Lewis Toshney by Chris Millar results in a free kick.79:59 Substitution
Substitution Nigel Hasselbaink comes on in place of Rowan Vine.79:22
Free kick awarded for an unfair challenge on Davide Grassi by Gregory Tade. Free kick taken by Davide Grassi.76:04
Gary Irvine restarts play with the free kick.76:04 Substitution
Substitution Gary Harkins leaves the field to be replaced by Colin Nish.76:04
Free kick awarded for a foul by Rowan Vine on Gary Irvine.75:32
Liam Craig has an effort at goal from outside the penalty box missing to the wide right of the target.73:38
Foul by Davide Grassi on Steven MacLean, free kick awarded. Free kick taken by David MacKay.
Substitution Mark Stewart replaces John Baird.72:08 Booking
Booking Rowan Vine goes into the referee's book for unsporting behaviour.71:19
Rowan Vine takes the inswinging corner, Rab Douglas makes a save.70:16
Effort on goal by Gregory Tade from 20 yards. Save by Rab Douglas. Corner taken left-footed by Liam Craig, save by Rab Douglas. Inswinging corner taken by Rowan Vine from the left by-line played to the near post, Gary Irvine makes a clearance.69:20
Corner from the right by-line taken by Liam Craig, clearance by Davide Grassi.68:44 Substitution
Substitution Nicky Riley leaves the field to be replaced by Davide Grassi.67:23
Rowan Vine provided the assist for the goal.67:23 Goal scored
Goal! - David MacKay - Dundee 1 - 2 St J'stone David MacKay scores a goal direct from the free kick from just outside the penalty box to the top right corner of the goal. Dundee 1-2 St Johnstone.65:22 Dismissal
Dismissal Declan Gallagher shown a red card.65:10
Lewis Toshney challenges Rowan Vine unfairly and gives away a free kick.63:28 Substitution
Substitution Gregory Tade comes on in place of Mehdi Abeid.62:15
Ryan Conroy takes a shot. Save by Alan Mannus.61:28
Ryan Conroy takes the inswinging corner, Patrick Cregg manages to make a clearance.60:38
Unfair challenge on Lewis Toshney by Mehdi Abeid results in a free kick. Free kick taken by Declan Gallagher.55:27
Unfair challenge on Gary Harkins by Patrick Cregg results in a free kick. Ryan Conroy restarts play with the free kick.52:54
Free kick awarded for a foul by Nicky Riley on Mehdi Abeid. Direct free kick taken by Alan Mannus.51:13
Unfair challenge on Chris Millar by Gary Irvine results in a free kick. Liam Craig takes the direct free kick.48:34
Foul by Steven MacLean on Lewis Toshney, free kick awarded. Rab Douglas restarts play with the free kick.45:53
Inswinging corner taken left-footed by Ryan Conroy from the right by-line, Frazer Wright manages to make a clearance.45:01
The second half kicks off.45:00 +0:11 Half time
Half Time The ref blows to end the first period.44:41
Corner taken by Mehdi Abeid played to the near post, clearance made by John Baird.42:53
Corner taken right-footed by Mehdi Abeid, Headed effort from inside the box by David MacKay misses to the right of the target.41:49
Assist by Lewis Toshney.41:49 Goal scored
Goal! - John Baird - Dundee 1 - 1 St J'stone John Baird finds the net with a headed goal from close in. Dundee 1-1 St Johnstone.41:30
Inswinging corner taken left-footed by Ryan Conroy,40:09
Rowan Vine has an effort from just inside the box that misses to the left of the goal.38:23
Gary Harkins produces a right-footed shot from inside the penalty area and hits the post.35:50 Booking
Booking Steven MacLean receives a caution.35:15
The assist for the goal came from Patrick Cregg.35:15 Goal scored
Goal! - Steven MacLean - Dundee 0 - 1 St J'stone Steven MacLean finds the back of the net with a headed goal from close range. Dundee 0-1 St Johnstone.34:46
Patrick Cregg has a drilled shot. Rab Douglas makes a save.34:22
Gary Harkins challenges Patrick Cregg unfairly and gives away a free kick. Alan Mannus takes the direct free kick.31:53
Foul by David MacKay on Gary Harkins, free kick awarded. Ryan Conroy has a direct shot on goal from the free kick, save by Alan Mannus.22:44
John Baird takes a shot from just outside the penalty area clears the crossbar.21:00
The referee blows for offside against John Baird. Alan Mannus restarts play with the free kick.20:36
David McCracken concedes a free kick for a foul on Lewis Toshney. Rab Douglas restarts play with the free kick.20:05
Rowan Vine fouled by Iain Davidson, the ref awards a free kick. Liam Craig takes the direct free kick.19:31
Free kick awarded for an unfair challenge on Lewis Toshney by Steven MacLean. Lewis Toshney restarts play with the free kick.19:08
The offside flag is raised against John Baird. Alan Mannus takes the free kick.16:15
John Baird has an effort at goal from outside the box which misses left.15:15
Unfair challenge on Ryan Conroy by David McCracken results in a free kick. Free kick taken by Ryan Conroy.13:46
Ryan Conroy takes the free kick.13:46 Booking
Booking Patrick Cregg is cautioned.13:42
Nicky Riley fouled by Patrick Cregg, the ref awards a free kick.11:34
Nicky Riley fouled by Patrick Cregg, the ref awards a free kick. Ryan Conroy has an effort direct from the free kick, Alan Mannus makes a save. Inswinging corner taken by Ryan Conroy from the right by-line.10:56
Thomas Scobbie gives away a free kick for an unfair challenge on Nicky Riley. Kyle Benedictus takes the free kick.9:19
Mehdi Abeid fouled by Kyle Benedictus, the ref awards a free kick. Rowan Vine takes the direct free kick.7:57
Headed effort from deep inside the area by Gary Harkins misses to the right of the target.6:37
Chris Millar is adjudged to have handled the ball. Kyle Benedictus restarts play with the free kick.5:41
Ryan Conroy concedes a free kick for a foul on David MacKay. Direct free kick taken by Liam Craig.4:52
Steven MacLean is flagged offside by the assistant referee. Indirect free kick taken by Lewis Toshney.3:43
Kyle Benedictus concedes a free kick for a foul on Steven MacLean. Thomas Scobbie restarts play with the free kick.2:58
Liam Craig concedes a free kick for a foul on Ryan Conroy. Gary Irvine restarts play with the free kick.2:15
Direct free kick taken by Thomas Scobbie.2:15 Booking
Booking John Baird booked.2:07
John Baird challenges Patrick Cregg unfairly and gives away a free kick.0:16
Unfair challenge on James McAlister by Patrick Cregg results in a free kick. Lewis Toshney takes the free kick.0:00
The match has kicked off.
Live data and text provided by our data suppliers