Match ends, Celtic 2, Aberdeen 1.
Celtic overcame dogged 10-man Aberdeen to secure a 10th successive Scottish Premiership win and restore their five-point lead at the top.
Odsonne Edouard's second-half strike settled it after Sam Cosgrove - later sent off for a lunge on Kris Ajer - levelled with his 20th goal this term.
Celtic led early through Christopher Jullien, but struggled to make their superiority count. They have played a game more than closest challengers Rangers, who had narrowed the gap with victory at Hibs on Friday.
The Old Firm rivals meet on 29 December in the final fixture before the winter shutdown, with Celtic first facing St Mirren away on Boxing Day.
Aberdeen are now three away games without a league win and replaced by Motherwell in third place.
Celtic pressure pays off
Celtic's imperious home record in the league this season - nine wins from nine - looked a certainty to be extended as they flew out the traps.
Jullien had already hit the crossbar by getting on the end of a Ryan Christie corner by the time he put them in front.
The second time he volleyed the ball into the ground and past the despairing dive of Joe Lewis, though he may have been aided by a deflection off Ash Taylor.
The champions were playing with a fluency that did not augur well for Aberdeen, who had been steamrollered in the previous meeting between the sides at Pittodrie.
Edouard was a constant menace, forcing Lewis into action with a shot from the edge of the area before watching a close-range finish deflected wide at the end of another gorgeous flowing move.
So when Aberdeen pulled level, it was to the astonishment of just about everyone inside Celtic Park.
Neil Lennon vented his fury as Jeremie Frimpong was penalised for a challenge on Niall McGinn and that was amplified as Aberdeen profited. The initial free-kick was half-cleared but McGinn clipped in a cross that was met by a prodigious leap and emphatic header from a towering Cosgrove.
That did little to stymie Celtic's incessant pressure and they felt they should have had a penalty for James Wilson's last-ditch tackle on Edouard, but referee Euan Anderson was unmoved.
Waves and waves of Celtic attacks continued to yield nothing though, with Lewis dealing with shots - mainly from distance - from James Forrest, Callum McGregor, Mikey Johnston and Christie.
A second Celtic goal did feel inevitable, however, and when it did arrive it was the result of more slick passing - this time between Edouard and Christie - as the Frenchman slipped the ball beyond Lewis to secure the points.
That may have been the case regardless but Aberdeen's chances of a second equaliser were greatly diminished by Cosgrove's dismissal.
There was a time his sliding challenge on Ajer would have been deemed a good one, but in the modern game the speed and force of it caused Anderson to produce the red card.
Aberdeen's performance was a vast improvement on the meek display they turned in against Celtic last time out but their reward was exactly the same.
Man of the match - Odsonne Edouard
Perhaps still not back to full fitness but Celtic are a different team with Edouard leading the line.
His hold-up play, flicks and tricks and awareness, not to mention his goalscoring ability, give Celtic another dimension.
'Of course it's not a red' - reaction
Celtic assistant manager John Kennedy: "It could have been a more emphatic win. Our last few games have been like that - the scoreline hasn't reflected our chances created and quality of play. In terms of performance, we can't ask for much more."
Aberdeen manager Derek McInnes: "Of course it's not a red. Sam has won the ball. It's actually a great tackle. 100% we will be appealing against the decision."
- 30FrimpongBooked at 90mins
- 17ChristieBooked at 39mins
- 21NtchamSubstituted forJohnstonat 61'minutes
- 49ForrestSubstituted forRogicat 82'minutes
- 22EdouardSubstituted forGriffithsat 78'minutes
- 4ConsidineBooked at 90mins
- 22OjoSubstituted forMainat 74'minutes
- 28WilsonSubstituted forMcLennanat 57'minutes
- 16CosgroveBooked at 69mins
- 10McGinnSubstituted forGallagherat 66'minutes
- Euan Anderson
- Shots on Target
Second Half ends, Celtic 2, Aberdeen 1.
Andrew Considine (Aberdeen) is shown the yellow card for a bad foul.
Scott Brown (Celtic) wins a free kick in the defensive half.
Foul by Andrew Considine (Aberdeen).
Attempt missed. Lewis Ferguson (Aberdeen) right footed shot from outside the box is high and wide to the right from a direct free kick.
Jeremie Frimpong (Celtic) is shown the yellow card for a bad foul.
Foul by Jeremie Frimpong (Celtic).
Jon Gallagher (Aberdeen) wins a free kick in the attacking half.
Attempt missed. Jeremie Frimpong (Celtic) left footed shot from the centre of the box is high and wide to the left. Assisted by Ryan Christie following a fast break.
Offside, Celtic. Jeremie Frimpong tries a through ball, but Leigh Griffiths is caught offside.
Boli Bolingoli-Mbombo (Celtic) wins a free kick on the left wing.
Foul by Connor McLennan (Aberdeen).
Attempt blocked. Ryan Christie (Celtic) left footed shot from the left side of the box is blocked. Assisted by Michael Johnston.
Christopher Jullien (Celtic) wins a free kick in the defensive half.
Foul by Curtis Main (Aberdeen).
Substitution, Celtic. Tomas Rogic replaces James Forrest.
Attempt missed. Ryan Christie (Celtic) left footed shot from the left side of the box is too high.
Corner, Aberdeen. Conceded by Scott Brown.
Foul by Kristoffer Ajer (Celtic).