St Mirren defender Richard King grabbed an equaliser nine minutes into stoppage-time as the Buddies and Aberdeen shared six second-half goals at Pittodrie.
The visitors took the lead through Marcus Fraser’s 55th-minute penalty, but Aberdeen turned things around thanks to Dante Polvara and sub Marko Lazetic.
Jonah Ayunga levelled matters but Lazetic netted a second that looked set to earn Aberdeen the points.
However, King popped up to make it 3-3 and earn Saints an important point as their run without a William Hill Premiership win extended to eight games.
The Dons created the better openings in the first half. The game sparked into life when winger Topi Keskinen curled a 20-yard effort off the upright, before Dylan Lobban’s cross was headed straight at Shamal George by the unmarked Adil Aouchiche.
Kevin Nisbet missed some good headed chances and, at the other end, Mikael Mandron lashed wide as Aberdeen failed to clear Scott Tanser’s long throw.
Stephen Robinson’s side thought they had taken the lead when Dimitar Mitov failed to claim a high ball in the area, with Tanser firing home, but referee Steven McLean ruled Tanser had nudged the keeper, who was perhaps fortunate to see the decision go his way.
There were further saves at either end before the break as Stuart Armstrong and Mandron threatened.
The second period started in controversial fashion as a deep free-kick into the Aberdeen box sparked penalty appeals which led to a lengthy VAR review before McLean went to the monitor and gave the spot kick, for handball against Knoester.
Fraser stepped up to confidently send the ball low to Mitov’s right.
Aberdeen sent on Jesper Karlsson and the Swede was immediately involved, seeing a low shot blocked on the line before Aouchiche somehow hit over from close range.
George denied Polvara from the edge of the area, but the American midfielder levelled the scoring in the 71st minute, firing home from close range after a Karlsson corner caused chaos.
Two minutes later, it was 2-1. Karlsson was again involved, his wickedly swerving shot only parried by George, and Lazetic reacted first to tap home from very close range.
Saints were level in the 82nd minute. Jack Milne was far too easily nudged off the ball by Ayunga, who homed in on Mitov’s goal before firing through the keeper.
Aberdeen were back in front two minutes later. Armstrong crossed from the left for Lazetic to sidefoot past George and into the far corner.
The lengthy VAR stoppages plus an injury to sub Gavin Molloy left the Dons facing the bulk of stoppage-time with 10 men, and they were unable to hold out as King headed home at the back post.
Subscribe or register today to discover more from DonegalLive.ie
Buy the e-paper of the Donegal Democrat, Donegal People's Press, Donegal Post and Inish Times here for instant access to Donegal's premier news titles.
Keep up with the latest news from Donegal with our daily newsletter featuring the most important stories of the day delivered to your inbox every evening at 5pm.