Aberdeen couldn’t go level with Premiership leaders Celtic after they were edged out 4-3 in a Pittodrie thriller.
The champions just came out on top in an enthralling contest as the Dons gave as good as they got in the Boxing Day showdown.
Dons boss Derek McInnes made one change to the side which had won four matches in a row. On-loan left-back Max Lowe missed out due to a calf injury with Dom Ball coming in.
That meant captain Graeme Shinnie moved to left-back with Ball in central midfield beside Lewis Ferguson, however this ploy only last quarter of an hour with Shinnie soon moving into central midfield, with Ball at centre-back and Andy Considine shifted to left-back.
After only six minutes it was the visitors who took the lead. Former Reds loanee Ryan Christie found a pocket of space and released Callum McGregor down the left.
McGregor drove towards the byline with Ferguson chasing and fired in a low cross, Ball was at the back post and attempted to clear, but his touch dropped for Scott Sinclair who tapped home from six yards.
On 20 minutes Celtic had another chance but when the ball was headed on to Christie in the box by Mikael Lustig Christie could only stab a tame effort straight into the hands of Reds keeper Joe Lewis.
At the other end Sam Cosgrove pressed Craig Gordon and almost forced the Celtic goalie into a mistake.
But in the 23rd minute the Dons were level. Niall McGinn had plenty of joy down the right flank against Emilio Izaguirre.
Another lobbed ball down the wing from Shay Logan put McGinn in behind and after the Northen Irishman had crossed he was clattered by Izaguirre – it was an easy decision for referee Willie Collum to make and he obliged by pointing to the penalty spot.
Stevie May stepped up and fired the ball down the middle past Gordon for his second league goal of the season to make it 1-1.
Just after the half hour Lewis made a vital stop to bail out Scott McKenna. The Scotland international’s diagonal pass was wayward and went straight to Sinclair who slipped Christie in on the left side of the area.
Christi’e low shot was saved by Lewis’ right foot before McKenna hacked the rebound away.
Soon after Lewis held a curling effort from Sinclair.
With four minutes of the first half left Christie sent a curving shot wide from 20 yards.
The Dons started the second half without McGinn, who was a constant threat on the right, Scott Wright was his replacement at half-time.
Celtic replaced Izaguirre with former Don Jonny Hayes.
The Hoops started the second period with more possession but they were finding it difficult to create any chances against a stubborn home defence.
On one occasion when James Forrest jinked away from Considine on the right McKenna made a great block to stop the shot.
On 66 minutes the Dons were wanting another penalty when Scott Brown seemed to barge McLennan right on the edge of the box, but Collum opted to wave play on.
With 17 minutes left Lewis did well to beat Sinclair’s long-range free-kick to safety.
In the 75th minute the Reds were undone and it was cruel on them.
Sub Odsonne Edouard held the ball in and was able to turn, the French striker teased a ball down the right, which Forrest just reached before Considine and when he squared it Sinclair ghosted in between Logan and Ball to tuck home from six yards.
But Aberdeen refused to go in and with eight minutes to play they had a second penalty and a second leveller.
Shinnie lofted the ball over Lustig and as the Dons skipper went to cross the Celtic right-back appeared to trip Shinnie and Collum pointed to the spot.
With May off strike partner Cosgrove stepped up and fired high into the right corner with his right foot.
The parity only lasted until the 86th minute. Forrest advanced towards the penalty area, his ball into the box was cut out by the sliding McKenna, but the follow-up fell for Edouard who lifted the ball into the right corner from 10 yards.
Two minutes later it was 4-2 when Edouard bundled past Logan and Ball down the left and eventually squared for Sinclair to tap in for his hat-trick.
The Dons weren’t done and in the 90th minute Ferguson volleyed home McLennan’s corner from the left, but they couldn’t find a stoppage time leveller.
Aberdeen: Joe Lewis, Shay Logan, Andy Considine, Scott McKenna, Graeme Shinnie, Niall McGinn (Scott Wright 46), Dom Ball, Lewis Ferguson, Connor McLennan, Sam Cosgrove, Stevie May (James Wilson 76).
Subs not used: Tomas Cerny, Chris Forrester, Stephen Gleeson, Bruce Anderson, Dean Campbell.
Celtic: Craig Gordon, Mikael Lustig, Dedryck Boyata, Filip Benkovic, Emilio Izaguirre (Jonny Hayes 46), Scott Brown, Tom Rogic, Callum McGregor (Odsonne Edouard 70), James Forrest (Kristoffer Ajer 88), Scott Sinclair, Ryan Christie.
Subs not used: Scott Bain, Olivier Ntcham, Mikey Johnston, Anthony Ralston.