Ryan Jack scored from the halfway line to ensure St Johnstone suffered their second home defeat in four days and Aberdeen eased their relegation fears.
Scott Vernon pounced to score after 13 minutes when goalkeeper Peter Enckelman spilled a Jack drive.
Jack gathered Enckelman's poor clearance to drive home a stunning drive from long range after 79 minutes.
Dons defender Andrew Considine was sent off four minutes later before Marcus Haber headed a stoppage-time reply.
But Craig Brown's side held on to secure their first away win of the season and move three points clear of Hibernian and Dunfermline Athletic at the foot of the Scottish Premier League.
Referee Steven McLean decided to go ahead with the game despite driving rain and strong winds that put paid to two of three Scottish Football League fixtures for safety reasons.
Only 1,600 hardy souls - more than 350 of them having travelled from Aberdeen - were prepared to pay to brave the elements for a game that they could watch in greater comfort on television.
And they were rewarded with an exciting match, the quality of which belied the horrendous conditions.
St Johnstone, who handed Sam Parkin his first start since February in place of Carl Finnigan after the striker's return from a broken ankle, were first to threaten and Chris Millar's swirling shot was fisted away unconvincingly by goalkeeper Jason Brown.
Curling crosses from Chris Clark, who had replaced the suspended Fraser Fyvie in Aberdeen's midfield, heaped pressure on Enckelman on a difficult night for goalkeepers.
The big Finn's attempt to punch clear an inswinging Clark corner struck the back of team-mate Parkin's head and over the crossbar.
Moment's later, David McCracken could only clear a Clark cross into the path of Ryan Jack on the edgoe of the area and, when Enckelman spilled the midfielder's low drive, Vernon was on hand to tap in his seventh goal of the season.
Millar was the early creative force for Saints, for whom Alan Maybury started ahead of David Robertson, and the midfielder's clever chip set up Haber for a run on goal that forced Richard Foster to concede a foul on the edge of the box.
The resulting Liam Craig free-kick was deflected just wide but sparked the midfielder into life.
Craig fired one drive wide, sent a cross-come-shot flashing across the face of goal and floated in a cross to the back post from which Dave MacKay's header deflected off Considine and wide.
St Johnstone were now the more dangerous force and that continued after the break, with MacKay's close-range shot forcing Brown into a fine one-handed block for a corner.
Murray Davidson ought to have levelled the game when put clear by a Craig header, but the Scotland midfielder's lazy lob over Brown drifted several yards over the bar.
The Dons went close to extending their lead against the run of play when Kari Arnason fired a 30-yard drive off the outside of the post.
Aberdeen substitute Mohamed Chalali was unlucky not to score with his first touch, when he was wrongly ruled offside following a Vernon through ball.
Jack's superb quick thinking ensured the Dons had a two-goal cushion by the time Considine was shown a second yellow card after a late challenge on Parkin.
However, a nervous end was ensured when Haber rose to head in a Millar cross.
Sorry, we were unable to load match stats, please try again.