Champions Celtic held off a spirited Aberdeen to make it two wins out of two in the Scottish Premiership.
Liel Abada scored the visitors' opener after VAR overturned an offside decision but Bojan Miovski levelled from close range.
Kyogo Furuhashi pounced on a dreadful defensive lapse by Nicky Devlin to fire Celtic back in front and Matt O'Riley sealed victory late on.
Aberdeen threatened through Leighton Clarkson's shot wide at 2-1 and remain on one point after two games.
Celtic had come close through Kyogo's chip wide by the time Abada converted Daizen Maeda's header off O'Riley's free-kick. Replays showed Abada had been played onside by Dante Polvara.
Graeme Shinnie headed over and Ryan Duncan's shot suffered the same fate as the Dons pressed, but Luis 'Duk' Lopes' pace outstripped Cameron Carter-Vickers as he latched on to Duncan's pass to set up Miovski for a tap in.
Parity was short lived, though, as Devlin headed back towards Aberdeen's goal, where Kyogo was all on his own to strike. Goalkeeper Kelle Roos then denied Abada and O'Riley from a free-kick to keep the home side in the game, just.
And it almost paid dividends as Miovski burrowed and harried defenders to set up Polvara, whose shot was deflected wide.
Kyogo fired over from substitute Reo Hatate's cross after the break and Devlin atoned for his earlier error with a last-ditch clearance to prevent a Maeda goal.
And, after Clarkson's chance and Maeda being denied by Roos when clean through, sub Yang Hyun-jun set up O'Riley in the six-yard box for the clincher.
Player of the match - Matt O'Riley
After a goalscoring start to his season last week, O'Riley played a big part in the opener and finished confidently for Celtic's thirdCeltic negotiate tricky first away day - analysis
In a game of counter attacks, Aberdeen gave as good as they got with Miovski and Duk troubling the Celtic defence and getting the right kind of support from midfield.
One moment that got supporters off their feet was Ester Sokler being taken out by goalkeeper Joe Hart after latching on to a long ball, but the Aberdeen substitute was offside.
The Dons were vulnerable to the break themselves, though, and Celtic could have made more of their possession in wide areas.
After some uncomfortable first-half moments, Celtic sent on Hatate and Stephen Welsh in place of David Turnbull and Carter-Vickers for the second period and had more control of the play.
However, Hatate soon limped off, giving summer signing Odin Thiago Holm a run out for the final 20 minutes, with Yang making an impact as Abada's replacement.
What's next?
Aberdeen travel to face Stirling Albion in the Viaplay Cup on Friday evening with holders Celtic away to Kilmarnock next Sunday.
Player of the match
DevlinNicky Devlin
Aberdeen
Squad number2Player nameDevlin
Squad number3Player nameMacKenzie
Squad number24Player nameRoos
Squad number20Player nameMorris
Squad number21Player namePolvara
Squad number23Player nameDuncan
Squad number10Player nameClarkson
Squad number33Player nameRubezic
Squad number4Player nameShinnie
Squad number11Player nameDuk
Squad number19Player nameSokler
Squad number9Player nameMiovski
Celtic
Squad number33Player nameO'Riley
Squad number8Player nameFuruhashi
Squad number15Player nameHolm
Squad number13Player nameYang Hyun-Jun
Squad number57Player nameWelsh
Squad number17Player nameNawrocki
Squad number38Player nameMaeda
Squad number42Player nameMcGregor
Squad number11Player nameAbada
Squad number20Player nameCarter-Vickers
Squad number1Player nameHart
Squad number41Player nameHatate
Squad number3Player nameTaylor
Squad number14Player nameTurnbull
Squad number49Player nameForrest
Squad number56Player nameRalston
Line-ups
Aberdeen
Formation 3-4-1-2
24Roos
2Devlin33Rubezic3MacKenzie
20Morris10Clarkson4Shinnie23Duncan
21Polvara
9Miovski11de Barros Lopes
24Roos2Devlin33Rubezic3MacKenzie20Morris10Clarkson4Shinnie23Duncan21Polvara9Miovski11de Barros LopesSubstituted forSoklerat 78'minutesSubstitutes
8Barron19Sokler22Besuijen25Ritchie26Stewart28Milne30Dadya31Doohan36BavidgeCeltic
Formation 4-3-3
1Hart
56Ralston20Carter-Vickers17Nawrocki3Taylor
33O'Riley42McGregor14Turnbull
11Abada8Furuhashi38Maeda
1Hart56Ralston20Carter-VickersSubstituted forHatateat 45'minutesSubstituted forHolmat 70'minutes17Nawrocki3Taylor33O'Riley42McGregorBooked at 54mins14TurnbullBooked at 27minsSubstituted forWelshat 45'minutes11AbadaSubstituted forYangat 70'minutes8FuruhashiSubstituted forForrestat 86'minutes38MaedaSubstitutes
9Haksabanovic13Yang15Holm24Iwata25Bernabei29Bain41Hatate49Forrest57WelshLive Text
Match ends, Aberdeen 1, Celtic 3.
Second Half ends, Aberdeen 1, Celtic 3.
Foul by Greg Taylor (Celtic).
Shayden Morris (Aberdeen) wins a free kick in the defensive half.
Yang Hyun-Jun (Celtic) wins a free kick in the defensive half.
Foul by Jack MacKenzie (Aberdeen).
Corner, Aberdeen. Conceded by Anthony Ralston.
Delay over. They are ready to continue.
Substitution, Celtic. James Forrest replaces Kyogo Furuhashi.
Foul by Yang Hyun-Jun (Celtic).
Jack MacKenzie (Aberdeen) wins a free kick in the defensive half.
Goal! Aberdeen 1, Celtic 3. Matt O'Riley (Celtic) left footed shot from the centre of the box to the bottom left corner. Assisted by Yang Hyun-Jun.
Attempt saved. Daizen Maeda (Celtic) left footed shot from the left side of the box is saved in the centre of the goal. Assisted by Yang Hyun-Jun.
Corner, Aberdeen. Conceded by Greg Taylor.
Offside, Aberdeen. Leighton Clarkson tries a through ball, but Ester Sokler is caught offside.
Anthony Ralston (Celtic) wins a free kick in the defensive half.
Foul by Graeme Shinnie (Aberdeen).
Substitution, Aberdeen. Ester Sokler replaces Duk.
Matt O'Riley (Celtic) wins a free kick on the right wing.