A Scott Sinclair hat-trick helped Celtic to a 4-3 Ladbrokes Premiership win over Aberdeen in a thrilling game at Pittodrie.
The winger put the Hoops ahead after six minutes but that advantage was cancelled out in the 24th minute when Dons forward Stevie May scored from the spot, after Emilio Izaguirre had clattered Niall McGinn.
Brendan Rodgers' side deservedly took the lead again in the 76th minute when Sinclair converted a James Forrest cross but in the 83rd minute Derek McInnes' side drew level again from the spot through Sam Cosgrove, but substitute Odsonne Edouard made it 3-2 before setting up Sinclair for his third.
Lewis Ferguson reduced the deficit again in the 90th minute to set up a tense three minutes of added time but the visitors took the spoils to remain top of the table before their final game of the year, a trip to Ibrox to play Rangers on Saturday.
Rodgers rang the changes with Craig Gordon, Scott Brown, Mikael Lustig, Ryan Christie and Dedryck Boyata returning.
Dons boss McInnes was without injured defender Max Lowe, with Dominic Ball coming in and skipper Graeme Shinnie moving to left-back - and he had to reconsider when Celtic struck early.
Christie sent midfielder Callum McGregor racing down the left and his cross to Tom Rogic was cut out by Ball but only to Sinclair who fired in from 10 yards for his 50th Celtic goal.
Shinnie then moved to midfield, Andrew Considine switched to left-back and Ball moved to centre-back and midway through the first-half the Dons drew level.
Referee Willie Collum had no hesitation in pointing to the spot after Izaguirre took out former Celt McGinn inside the box as he crossed a pass from defender Shay Logan which had left Celtic chasing to get back, with May confidently slamming in the penalty.
Izaguirre was replaced by ex-Don Jonny Hayes at the break while Scott Wright took over from McGinn and Celtic began to exert pressure on the Pittodrie defence, who were forced to remain disciplined and resolute.
Aberdeen were being pinned in their own half although there was a penalty shout in the 66th minute when Brown tangled with Dons midfielder Connor McLennan inside the Celtic penalty area but this time Collum waved play on.
Three minutes later Edouard replaced McGregor and Celtic continued to dominate the ball.
Lewis pushed Christie's 30-yard free-kick past the post for a corner which came to nothing but the Aberdeen keeper was beaten all ends up when Forrest went past Considine and crossed for Sinclair to volley in from six yards.
The home side threw everything forward and when Lustig was adjudged to have pushed Shinnie as he raced into the box, Cosgrove hammered in the spot-kick.
However, there was much more drama to come.
When Edouard got the break of the ball at the edge of box he chipped into the net and there was time for Sinclair to grab his hat-trick when the French striker cut the ball back for Sinclair to slide in from six yards.
Then Ferguson knocked in a McLennan corner to make it 4-3 but the home side ran out of time.