Billy Mehmet went from saint to sinner following his midweek Co-operative Insurance Cup hat-trick against Dumbarton when he missed two glorious chances as Saints dominated the opening half.
Centre-backs Will Haining and John Potter both slipped up to set up Mackie to fire home two minutes before the break.
St Mirren had produced some impressive football during the first half but they could not recreate it after the break and Aberdeen held on comfortably.
The Buddies had been buoyed by a 7-0 cup thrashing of Dumbarton but familiar failings have left them with just one point and one goal in the SPL this term.
The early stages afforded little time or space in the middle of the park and it took 14 minutes for a goalkeeper to be called into action, although Jamie Langfield was alert enough to pull off a double save.
The Dons keeper pushed away Franco Miranda's 30-yard strike but only as far as Mehmet, whose hesitation allowed Langfield to recover and block his follow-up from eight yards.
Derek Young came close for the visitors when he curled just beyond the far post after creating space 25 yards out.
St Mirren took control and Charlie Mulgrew was booked for tripping Andy Dorman after Garry Brady's pass had caught him out. Nothing came of Dorman's delivery but Saints kept the pressure on and Gary Mason had a low shot saved from long distance.
Mehmet missed another glorious chance in the 32nd minute after sustained pressure in the Aberdeen goalmouth.
Dorman hesitated after being set up by Mason 18 yards out but Saints kept possession and the midfielder headed back across goal only for the unmarked Mehmet to hook over from six yards.
Dargo was next to threaten as the home side knocked the ball around with growing confidence but Langfield dived well to catch the striker's powerful 20-yard volley.
However, Saints were authors of their own downfall in the 43rd minute.
Haining failed to control a long ball and allowed Mackie to break and find Miller on the edge of the box.
John Potter closed him down but then headed the ball straight into the path of Mackie, who fired home from 12 yards.
Saints started the second half slowly but a quick free-kick from Brady just inside the Dons half almost set up a 50th-minute leveller.
Brady sent Dorman clear down the right channel and he lifted the ball over the onrushing Langfield, but Lee Mair headed clear on the line.
Haining limped off in the 55th minute, with Scott Cuthbert stepping in.
The Dons looked more relaxed on the ball following Mackie's goal and the striker forced Mark Howard to stretch towards the top corner to save his header from Young's cross.
St Mirren's frustration was evident when Dargo took a wild kick at Andrew Considine after he lost possession, the striker fortunate to receive only a yellow card.
Aberdeen continued to move the ball around and Gary McDonald's shot deflected wide from the edge of the area.
Dennis Wyness replaced Steven Robb but St Mirren still lacked a cutting edge and Dorman's long-range strike was smothered by Langfield.
Miller earned a yellow card from referee Willie Collum and an angry reaction from Potter after he threw himself to the ground after taking on Cuthbert just inside the box.
St Mirren were enjoying more of the ball but could not find a way through and Aberdeen substitute Jeffrey de Visscher forced Howard to dive low to save his shot on the break.
The hosts eventually created one half-chance with seven minutes left when the ball broke kindly for Dorman 18 yards out, but his low strike lacked power and was easily held.