Match ends, Aberdeen 0, Celtic 1.
Manager Ange Postecoglou says Celtic were "first rate in every department" as Callum McGregor's late strike against Aberdeen maintained their nine-point lead in the Scottish Premiership.
McGregor - who was making his comeback after two months out with a knee injury - lashed into the net from 20 yards with three minutes of the 90 left.
It was Celtic's 33rd shot at Pittodrie as they finally wore down Aberdeen's deep defensive block, which ultimately proved fruitless as the hosts ended the match with two efforts on goal.
Postecoglou's Celtic move back nine clear of Rangers, while Aberdeen will end the day in third place due to postponements elsewhere.
"Even if we had got a draw, I wouldn't have been disappointed with our performance," the Celtic boss told BBC Scotland.
"You're always looking at what our approach was like, our football, our mentality. And I thought it was first rate in every department. Getting the goal is great because it rewards the players.
"It's easier then for me to keep feeding into that and telling them to go down this road."
It was fitting for Celtic that their lynchpin McGregor grabbed the crucial goal, having been out since early October, but it was just the latest example of the champions finding something at the death.
Ross County, St Johnstone, Motherwell and Dundee United have all been downed in the dying moments of games so far this term, and McGregor's low shot into the bottom corner added Aberdeen to the list.
And while it took until the 87th minute, in truth Celtic should have had the game sewn up long before. Kyogo Furuhashi had the best chance of the lot, but somehow side-footed Liel Abada's cross wide from a few yards out.
Aberdeen goalkeeper Kelle Roos denied Abada, Reo Hatate, Jota and others as the home side went close to clinging on to a valuable point.
But the fact they didn't throws into question their defensive approach, as they barely completed 100 passes in the game and mustered two attempts on goal, both of which were well off target.
Player of the match - Callum McGregor
Celtic motor on as Aberdeen approach raises questions - analysis
Celtic scoring a late winner comes as absolutely no surprise - it's what they have done so regularly in the last three months.
They were frustrated at times by the sheer number of bodies in the Aberdeen box, and probably could have played with some more width in the first half to try to stretch the opposing back five.
Abada made a difference after coming on at the break, and his great run and cross ought to have led to Kyogo opening the scoring. But overall the champions had total control and could have won more comfortably on another day.
Despite coming within minutes of claiming a point, this performance will draw plenty of criticism towards the tactics of Aberdeen boss Jim Goodwin.
He spoke openly about taking inspiration from his old club St Mirren, who are the only side to beat Celtic domestically this season.
The set-up was similar, with a back five and midfield three shuttling across to outnumber Celtic's wide players.
It worked to a point, except Aberdeen put far less pressure on Celtic when they had the ball than St Mirren, and were far less useful in the rare moments they did have the ball.
Goodwin has spoken of the confidence he has in his players and the attacking football they want to play, and have played at home, this season. This approach was contradictory to that.
The last time they played an Old Firm side they were far too open and were picked apart at Ibrox, but here they offered nothing.
Goodwin needs to find a happy medium against Glasgow's big two, starting with the visit of Rangers to Pittodrie on Tuesday.
What they said
Aberdeen manager Jim Goodwin: "Extremely disappointed having conceded a goal late on having put in so much effort and commitment.
"We felt before the game that the best way to go was to sit off Celtic and deny them space in behind and try to hit them on the counter attack. We did that on one or two occasions in the first half but in the second half we weren't able to get up the pitch unfortunately."
Celtic manager Ange Postecoglou: "That's as dominant as we've been away from home at a difficult place. We got our goal late, but I thought our approach all the way through... we were disciplined and didn't get frustrated.
"I couldn't ask much more from the lads. Even though we didn't win more comfortably - which we should have - when you win 1-0 in that manner it just shows the discipline and belief the boys have in the way we play."
What's next?
Celtic are at home to Livingston on Wednesday (19:45 GMT), with Aberdeen hosting Rangers the previous night (20:00).
Player of the match
McGregorCallum McGregor
Aberdeen
Avg
- Squad number24Player nameRoosAverage rating
5.47
- Squad number3Player nameMacKenzieAverage rating
5.03
- Squad number2Player nameMcCrorieAverage rating
5.00
- Squad number33Player nameKennedyAverage rating
4.95
- Squad number5Player nameStewartAverage rating
4.93
- Squad number11Player nameDukAverage rating
4.83
- Squad number16Player nameRamadaniAverage rating
4.82
- Squad number8Player nameBarronAverage rating
4.68
- Squad number20Player nameClarksonAverage rating
4.67
- Squad number22Player nameCoulsonAverage rating
4.62
- Squad number9Player nameMiovskiAverage rating
4.38
- Squad number17Player nameHayesAverage rating
4.18
- Squad number7Player nameMorrisAverage rating
3.26
- Squad number23Player nameDuncanAverage rating
3.22
Celtic
Avg
- Squad number42Player nameMcGregorAverage rating
7.94
- Squad number11Player nameAbadaAverage rating
7.37
- Squad number20Player nameCarter-VickersAverage rating
7.14
- Squad number49Player nameForrestAverage rating
7.14
- Squad number3Player nameTaylorAverage rating
7.05
- Squad number33Player nameO'RileyAverage rating
6.98
- Squad number4Player nameStarfeltAverage rating
6.97
- Squad number17Player nameJotaAverage rating
6.83
- Squad number41Player nameHatateAverage rating
6.73
- Squad number1Player nameHartAverage rating
6.68
- Squad number8Player nameFuruhashiAverage rating
6.57
- Squad number38Player nameMaedaAverage rating
6.48
- Squad number14Player nameTurnbullAverage rating
6.48
- Squad number7Player nameGiakoumakisAverage rating
6.36
- Squad number13Player nameMooyAverage rating
6.17
- Squad number56Player nameRalstonAverage rating
3.71
Line-ups
Aberdeen
Formation 3-5-2
- 24Roos
- 2McCrorie
- 5StewartSubstituted forMorrisat 90+3'minutes
- 3MacKenzie
- 33Kennedy
- 8Barron
- 16Ramadani
- 20ClarksonBooked at 66minsSubstituted forDuncanat 76'minutes
- 22Coulson
- 9MiovskiSubstituted forHayesat 73'minutes
- 11de Barros Lopes
Substitutes
- 1Lewis
- 7Morris
- 10Besuijen
- 17Hayes
- 23Duncan
- 25Richardson
- 36Bavidge
- 46Marshall
- 99Ramírez
Celtic
Formation 4-3-3
- 1Hart
- 56Ralston
- 20Carter-Vickers
- 4Starfelt
- 3Taylor
- 42McGregor
- 33O'RileySubstituted forMooyat 90'minutes
- 41HatateSubstituted forTurnbullat 72'minutes
- 38MaedaSubstituted forAbadaat 45'minutes
- 8FuruhashiSubstituted forGiakoumakisat 72'minutes
- 17Neves FilipeSubstituted forForrestat 72'minutes
Substitutes
- 6Jenz
- 7Giakoumakis
- 11Abada
- 13Mooy
- 14Turnbull
- 25Bernabei
- 31Siegrist
- 49Forrest
- 50Lawal
- Referee:
- Steven McLean
- Attendance:
- 15,567
Match Stats
- Possession
- Home19%
- Away81%
- Shots
- Home2
- Away33
- Shots on Target
- Home0
- Away10
- Corners
- Home0
- Away7
- Fouls
- Home8
- Away8
Live Text
Post update
Full Time
Second Half ends, Aberdeen 0, Celtic 1.
Post update
Corner, Celtic. Conceded by Jack MacKenzie.
Substitution
Substitution, Aberdeen. Shayden Morris replaces Anthony Stewart.
Post update
Attempt missed. Ross McCrorie (Aberdeen) right footed shot from outside the box is too high. Assisted by Duk.
Substitution
Substitution, Celtic. Aaron Mooy replaces Matt O'Riley.
Goal!
Goal! Aberdeen 0, Celtic 1. Callum McGregor (Celtic) left footed shot from outside the box to the bottom right corner. Assisted by James Forrest.
Post update
Attempt blocked. James Forrest (Celtic) right footed shot from outside the box is blocked. Assisted by Callum McGregor.
Post update
Corner, Celtic. Conceded by Kelle Roos.
Post update
Attempt saved. Liel Abada (Celtic) right footed shot from a difficult angle on the right is saved in the top right corner. Assisted by David Turnbull.
Post update
Attempt missed. Giorgos Giakoumakis (Celtic) header from the centre of the box is too high. Assisted by Matt O'Riley.
Post update
Attempt saved. David Turnbull (Celtic) right footed shot from the right side of the six yard box is saved in the top right corner. Assisted by Giorgos Giakoumakis.
Post update
Attempt missed. Giorgos Giakoumakis (Celtic) header from the centre of the box misses to the right.
Substitution
Substitution, Aberdeen. Ryan Duncan replaces Leighton Clarkson.
Post update
Foul by David Turnbull (Celtic).
Post update
Matthew Kennedy (Aberdeen) wins a free kick in the defensive half.
Substitution
Substitution, Aberdeen. Jonny Hayes replaces Bojan Miovski because of an injury.
Substitution
Substitution, Celtic. Giorgos Giakoumakis replaces Kyogo Furuhashi.
Substitution
Substitution, Celtic. James Forrest replaces Jota.
Substitution
Substitution, Celtic. David Turnbull replaces Reo Hatate.