There was just the one change for Aberdeen from the side that lost out to Rangers on Tuesday, fit again Matty Kennedy replacing Jayden Richardson, who started from the bench. Dante Polvara was among the subs again after an injury absence, Jonny Hayes and Vicente Besuijen missing out.
For St Mirren's return to competitive football, having last played on November 12th, drawing 1-1 at home to Rangers, they made one change to the side, Greg Kiltie replaced by Keanu Baccus.
It was a sprightly return from the Buddies, winning a couple of corners in the first two minutes but they came to nothing, the game the settling into an early stalemate. A third corner followed in the seventh minute after Leighton Clarkson lost possession, but again it was a ball hoisted high to the back post that caused no problems.
Kennedy clearly had his dancing shoes on, skipping past a couple of defenders before crashing a shot at goal from a tight angle, Carson saving well. No matter, Kennedy had the Dons ahead 30 seconds later, collecting the ball from Connor Barron 25 yards out and absolutely lacing a strike over Carson and into the top corner 1-0 after 10 minutes.
Hayden Coulson was clearly encouraged by Kennedy and three minutes later, from another 10 yards out, he let one fly at goal that wasn't too far over the bar. The Dons were already exerting some real control in the middle of the park, St Mirren getting the most joy by jumping it long, either from the back or a long Gallagher throw. They did work the ball into the box on 23 minutes, Baccus firing in a strong shot that was blocked behind by Liam Scales. In the same spell of home possession, another Gallagher throw was punched clear by Kelle Roos but straight to Erhahon, who put his shot wide of goal.
Erhahon went onto the book on the half hour for a foul on Duk and plenty of dissent in the aftermath. Duk required lengthy treatment, hobbling heavily as he finally carried on.
Coulson cut inside with the help of a good touch in the 34th minute, but his right foot shot from 20 yards was straight at Carson in the home goal. Up the other end, Baccus picked Ramadani's pocket 30 yards out, the ball falling nicely for Ayunga who sliced over the bar from just outside the box.
On 36, the Dons were down to ten men, Anthony Stewart dismissed after he lost possession to Ayunga on the edge of the box and pulled him back. Having given a free-kick, VAR concluded it was inside the box and St Mirren had a penalty.
O'Hara stepped up, smacked it against the post, but the rebound flew against Roos' outstretched leg and into the back of the net to conclude a nightmare couple of minutes for the Dons.
Roos was in action again on 44 minutes, a cross stood up to the back post giving Ayunga a free header from five yards out. The goalkeeper got across to make a fine save under the bar, but Ayunga really shouldn't have given him the option.
Kiltie replaced Erhahon for the hosts at the break, while Jack MacKenzie and Ryan Duncan were brought on for Duk and Clarkson for the Dons.
The Dons conceded a second penalty on 51. Main went on the chase for a ball into the box and got there just before Roos who dived at his feet and pulled him down some 14 yards from goal. O'Hara stepped up and drove the ball under Roos for 2-1.
The Dons responded, Coulson sending in a low cross on 56. It was half cleared, Duncan pouncing on it before firing his first time shot wide of the target. Straight back up the other end, Strain wriggled into space in the box before firing over. Coulson took a kick in the ribs in the build up and only continued after plenty of repair work from the physios.
There was a third penalty for the home team on 62 minutes, a long ball in behind setting Ayunga on his way. The referee immediately booked Ross McCrorie, but if there was any contact, it was from Scales. Ayunga stepped up this time, put it straight down the middle and Roos, going to his left, was able to kick it well clear. The ailing Coulson was soon replaced by Christian Ramirez before Baccus was booked on 67 minutes for a foul on Ylber Ramadani.
Scales kept the Dons in the game with a header off the line on 73 minutes as Gallagher and Ramirez both got something on a cross to send it goal wards. From the resulting corner, Gallagher was up highest again but from close range, he put his header over the bar.
When your luck's out, it's out, and that became clear on 75 minutes when the Dons were almost level. A Kennedy corner eventually reached Ramadani on the edge of the box and he crashed a shot past Carson, off the underside of the bar and back out into play. The Dons were beginning to build some pressure now as the game headed into its final stages.
A weaving run from McCrorie took him deep into the St Mirren box, but his ball across goal couldn't find a white shirt. MacKenzie was next, again evading a couple of challenges to get into the box, his low right foot shot saved by Carson's leg. Brophy replaced Main on 83 minutes.
Aberdeen were a whisker away again on 85 minutes. Kennedy's corner skimmed through the box and Duncan threw himself at the ball at the back post and from a couple of yards out, headed wide. Had he not got a touch, Ramirez, just behind him, would surely have scored.
Strain was booked in the 89th minute, then Gogic replaced Ayunga as we headed into added time. He was booked within a couple of minutes for hauling down McCrorie on the run. From the free-kick, Kennedy's effort from 30 yards out, was tipped over by Carson. Roos went up for the corner but the ball was cleared and St Mirren broke away from there playing a long ball forward. MacKenzie was dispossessed on the halfway line as he tried to get the ball down, and that left Kiltie with an empty net to fire into from 35 yards, depositing the ball into the bottom corner to seal the points for the home team.
Aberdeen kept going, MacKenzie winning a corner in the 98th minute, but it all came to nothing.