Lewis Ferguson's stoppage-time penalty gave Aberdeen a share of the spoils against Celtic in a pulsating 3-3 Premiership draw at Pittodrie.
The Dons midfielder started the scoring from the spot two minutes before the interval, but the champions roared back after the break and stand-in skipper Callum McGregor levelled in the 52nd minute.
Dons attacker Ryan Hedges restored the home side’s lead in the 64th minute but Hoops substitute Leigh Griffiths equalised with a drive in the 75th minute and Ryan Christie scored with a penalty two minutes later.
That looked like it would be enough to clinch the points, but remarkably Aberdeen were awarded a second penalty in added time and Ferguson again did the business.
The two sides meet in the rearranged 2020 William Hill Scottish Cup semi-final at Hampden Park next Sunday and that will be a game to look forward to if it in any way matches this one.
Celtic boss Neil Lennon had been forced into a change in goal due to an injury to number one Vasilis Barkas, with Scott Bain making his first start since August.
Lennon returned to a back four and Tom Rogic, Mohamed Elyounoussi and Christie were back in the side at the expense of skipper Scott Brown, Stephen Welsh and Griffiths, who started on the bench.
Former Celt Jonny Hayes and Ryan Edmondson shrugged off injuries to take their place in the Dons side as Ross McCrorie replaced Scott Wright.
There was a minute's silence before kick-off to mark the recent death of former Aberdeen boss Ebbe Skovdahl.
Aberdeen had to contend with a fiery Celtic start before the game developed into a competitive scrap.
In the 17th minute Parkhead midfielder Olivier Ntcham’s drive from 30 yards clipped the outside of the post.
The visitors were on top when Dylan McGeouch picked up an injury and was replaced by Connor McLennan and the pressure began to intensify although Joe Lewis was well protected by his defence.
However, it was the Dons who forced their way ahead when referee Willie Collum pointed to the spot after Ntcham bundled Ferguson over in the box.
The Dons midfielder got up and sent Bain the wrong way with his spot-kick to put the pressure back on Celtic.
Celtic’s response was exactly what was required.
Scotland international McGregor, with pace and purpose, combined with Rogic and took the return ball before driving low past Lewis from eight yards and there was a rush from Celtic to get going again.
Moments later, Rogic tested Lewis with a drive before Aberdeen replaced Marley Watkins and Edmondson with Wright and Sam Cosgrove, making his first appearance of the season after recovering from a knee injury.
And when Bain failed to deal with a drive from Cosgrove, after Celtic defender Shane Duffy was robbed by Wright down the left, Hedges was on hand to prod the ball over the line from close range.
Brown and Griffiths replaced Ntcham and Albian Ajeti as Lennon tried another route and it was Griffiths who took a pass from Rogic and curled it high past Lewis.
There was more drama two minutes later when Dons defender Tommie Hoban caught Elyounoussi in the box and Christie confidently drove in the penalty to put Celtic in the lead for the first time.
However, in added time, after McGregor tripped McLennan and Cosgrove had slammed the ball against the crossbar, Collum pointed to the spot and Ferguson stepped up with another well-taken penalty.