Injury-plagued Saints striker Andy Jackson came off the bench and saw his late effort hit a post and go in off goalkeeper Stuart Nelson two minutes from time just as the Dons had looked set for just their fourth away win of the campaign.
Steven MacLean had earlier netted for the second straight game for Aberdeen, for whom a point was enough to end any lingering fears of relegation.
Injury-plagued St Johnstone captain Kevin Rutkiewicz made his first appearance for almost five months in one of four changes for the hosts, who also handed striker Collin Samuel his first start since early December as well as recalling Murray Davidson and the fit-again Dave Mackay.
Aberdeen dropped Jamie Langfield for the second time this term, with Stuart Nelson starting in goal and Paul Marshall and Sone Aluko also drafted in.
Other than the notional requirement for the visitors to take something from one of their final four games of the campaign, today’s lunchtime kick-off was arguably the most meaningless match of the SPL season so far.
The home side were not treating it as such, if the opening two minutes were any indication.
Chris Millar forced a fine save from Nelson inside 50 seconds and the resulting Danny Grainger corner saw Davidson mistime a header, Mackay have a shot cleared off the line and Jody Morris fire wide following up.
But, in remarkably similar fashion, it was the visitors who opened the scoring in the 16th minute.
Graeme Smith tipped Davide Grassi’s header onto the bar from Marshall’s corner, Darren Mackie steered the follow-up goalward, and MacLean got the final touch on the line.
There was a serious dearth of goalmouth action for more than 20 minutes, Aluko finally breaking the monotony by shooting wide from 20 yards.
A real chance followed moments later when MacLean beat Grainger to Marshall’s deflected cross but was under enough pressure for his volley to smack the bar.
The striker’s 25-yard effort was then brushed off a Saints defender for a Marshall corner, which the completely-unmarked Grassi headed wide.
Set pieces continued to have a major impact on the game after the break, Aluko clearing Rutkiewicz’s header from Grainger’s corner off the line inside three minutes.
The Saints skipper saw another header blocked from a Grainger free-kick soon after as the home side replicated their start to the first half.
But home boss Derek McInnes waited only 11 minutes of the second period before throwing on Kenny Deuchar for Filipe Morais.
Marshall picked up the game’s first booking after 63 minutes for pushing over Grainger and Millar’s tame 25-yard strike was easily held by Nelson.
The visitors made a double substitution in the 67th minute when Fraser Fyvie and Michael Paton replaced Marshall and Aluko, while Saints brought on Jackson for Sheridan four minutes later.
MacLean picked up the Dons’ second booking 13 minutes from time after clattering into Millar.
Saints had left it late before snatching a draw against St Mirren last week but there were few signs of them repeating the feat.
McInnes duly made his final change when Liam Craig replaced Samuel with seven minutes remaining.
Saints made all the running late on and Deuchar and Jackson both saw headers from Gary Irvine crosses fly too close to Nelson.
Their pressure was finally rewarded with an 88th-minute equaliser.
Nelson could only parry Craig’s low free-kick and Jackson was first to the rebound to scuff against the post and off the goalkeeper and over the line.
There was still time for Davidson to send a diving header from Grainger’s corner off target.