Aberdeen battled hard against a well-drilled opponent and a howling wind to fight back from going a goal behind to collect three important points and head back into the top three.
There were two changes for Derek McInnes' Dons for the Boxing Day fixture, Sam Cosgrove and Dean Campbell coming into the starting line up in place of the suspended Ross McCrorie and Connor McLennan, injured in the game at Motherwell. Ryan Duncan and Kevin Hanratty joined the Aberdeen bench.
Callum Davidson made four changes to the side that started the 3-0 defeat to Rangers in midweek. Dropping to the bench were Craig Bryson, Murray Davidson, Callum Booth and Craig Conway, to be replaced by Scott Tanser, Liam Craig, Ally McCann and Stevie May.
With a swirling wind blowing around Pittodrie, conditions were far from ideal. There was an early stoppage, Tanser going down in the third minute after he seemed to get his right foot caught in the turf. He had to come off, Booth replacing him, the change contributing to a scrappy opening period.
After neat approach play by the home side, Lewis Ferguson had the first pop at goal, a 25 yarder lofted over the bar after 11 minutes. Wotherspoon reciprocated three minutes later, his shot from similar distance always arcing wide of goal. Saints weren't too far away in the 18th minute, a half cleared corner dropping nicely for McCann on the edge of the box, his raking shot flashing just wide. Both teams were trying to keep the ball on the floor as much as possible to combat the conditions, but defences were very much on top in the first quarter of the game, nothing to choose between the sides.
Saints edged in front in the 39th minute from a dubious free-kick given out on their left after an innocuous Ferguson challenge. The ball was played to the back post by Craig, evading Cosgrove's jump and on to the unmarked Gordon. He headed the ball down into the ground almost at his own feet, only for it loop up and spin over Joe Lewis' despairing leap and into the net.
The Dons finally sparked into life a minute before the break, good possession play ending with Jonny Hayes playing the ball into Cosgrove on the edge of the box. There was a sharp turn from the striker to get away from his marker and his shot was well pushed behind by Clark, a very good save from the Saints goalkeeper.
From the corner, Andrew Considine smashed the ball at goal and against Booth's arm - shades of Tommie Hoban at St. Mirren - but no penalty was given this time. The Dons worked the ball back into the box where Cosgrove was bundled over and this time the ref did point to the spot, a soft one maybe, but no softer than the foul given against Ferguson five minutes earlier. Cosgrove was back on penalty duties and he nonchalantly sent Clark the wrong way to make it 1-1.
HALF-TIME: ABERDEEN 1 ST. JOHNSTONE 1
The Dons started the second half quickly, Hayes, Kennedy and Hoban all getting crosses into the box in the opening minute, Hayes and Kennedy having swapped flanks with Hayes on the right now. The Dons threaded some good early moves together and had their reward in the 54th minute from a Ferguson corner. The ball bounced awkwardly off Craig and Ash Taylor was quickest to react to it, whipping the ball into the net from eight yards out. The delivery from set plays and from out wide was a real step up in quality from the game at Motherwell in midweek.
There was a late challenge on Campbell from McCann in the 57th minute that meant a yellow card for the Saints man. Considine was on the receiving end of a whack from Kane and needed treatment before carrying on and then Craig was next in the book for chopping Hayes down just past the hour.
Saints threatened on the break in the 65th minute after some untidy attacking play from the Dons, May getting a shot away from 20 yards, sweeping his shot across goal and just wide of the target with Lewis scrambling. The visitors replaced Kane with Hendry in the 67th minute in their second swap, Ryan Edmondson becoming Aberdeen's first change five minutes later, Main being replaced.
The visitors got a dangerous looking free-kick some 25 yards out in the 74th minute, just to the right of the D, Hendry whipping it over the wall but well over the bar too. Hendry was in the book, presumably for dissent, eight minutes later. Cosgrove went the same way in the 84th minute amid a particularly fussy display from the whistler.
Saints made a final change in the 86th minute, Melamed replacing Craig, Aberdeen responding by introducing Funso Ojo for Cosgrove three minutes later. Within seconds, Hendry hauled Kennedy down over but was a bit unfortunate to collect a second yellow card that reduced Saints to ten men. Callum Davidson made it clear what he thought of that and collected a booking of his own in the aftermath.
In the third minute of added time, May made a darting run to get on the end of a cross and manufactured a clever flick at goal, Lewis reacting smartly to bat the ball away to safety, a very useful save.
Not an afternoon that would win too many points from the judges for artistic impression but the Dons did enough to get the job done and collect three deserved points.