Real Madrid's defence of their Champions League title began with a hard-fought 3-0 win at Celtic.
Ange Postecoglou's side proved worthy adversaries for the European champions but eventually ran out of steam and fell to defeat on their return to the competition.
Celtic nearly took the lead inside 30 seconds when Liel Abada's close-range effort was deflected into the side-netting by David Alaba.
A sweeping move from the hosts nearly set Georgios Giakoumakis through on goal, but again Alaba came to Real Madrid's rescue with a huge block.
Abada then had a clearer sight of goal at the end of a counter attack from a corner, but he couldn't quite get a clean strike away and Thibaut Courtois denied him.
Reo Hatate was next to force the Belgian's hand with a strike from range, before Callum McGregor's shot thundered against the post as Celtic's fast start continued.
Real Madrid's first opportunity of note came when Federico Valverde cut inside of Jota and let fly, but his effort sailed wide of Joe Hart's net.
Eden Hazard - brought on for the injured Karim Benzema - spurned a great chance after meeting Dani Carvajal's deep cross, but he couldn't get a solid contact on it and the ball bounced harmlessly out of play.
Carlo Ancelotti's men were finally clicking into gear, with Hazard turning provider for Vinicius Junior to sprint away despite suspicions of offside, with Joe Hart standing tall to deny the Brazilian.
Substitute Daezen Maeda should have put Celtic ahead when he was first to Josip Juranovic's searing cross, but he couldn't sort his feet out and the ball trickled into Courtois' grateful arms.
Real Madrid took a 56th-minute lead after Valverde's terrific low cross was converted by Vinicius Junior, who to that point had contributed very little.
Luka Modric doubled the advantage minutes later after Hazard carried the ball into the area and teed up the Croatian, who rode a challenge from Moritz Lenz and fired past Hart.
The visitors added a cruel third when Toni Kroos' ball over the top was knocked back across goal by Dani Carvajal, and Hazard was on hand to tap in.
Sead Haksabanovic came off the bench and forced Courtois into a strong save at his near post, but Real clung on to keep a clean sheet.
1. Celtic (4-3-3)
GK: Joe Hart - 5/10 - Made several good stops and helped Celtic build from the back. Got a hand on Modric's goal but couldn't quite keep it out.
RB: Josip Juranovic - 5/10 - Looked bright going forward but failed to deal with Vinicius after the break.
CB: Cameron Carter-Vickers - 5/10 - The scoreline will reflect harshly on Celtic's defenders, who were largely fine and not the reason they lost.
CB: Mortiz Jenz - 5/10 - Similarly imperious for the most part, though will be disappointed not to have stopped Modric.
LB: Greg Taylor - 4/10 - Given the runaround by Valverde and didn't offer enough the other way.
CM: Matt O'Riley - 5/10 - Technically up for it but looked a little overawed on occasion.
CM: Callum McGregor - 6/10 - Gave his all in the midfield battle and led the team well.
CM: Reo Hatate - 6/10 - Always looked for the forward pass and drove right through Real's midfield.
RW: Liel Abada - 5/10 - Popped up in dangerous areas and caused Real Madrid problems. Brought off at half-time.
CF: Georgios Giakoumakis - 5/10 - Held the ball up and brought others into play.
LW: Jota - 4/10 - The least effective of Celtic's front line. Couldn't quite create any magic.
Manager: Ange Postecoglou - 6/10 - Celtic can be proud of their performance. They were ultimately undone by a couple of moments of quality.
SUB: Daizen Maeda (46' for Abada) - 5/10 - Should have scored his early chance to change the game.
SUB: Aaron Mooy (72' for O'Riley) - 5/10
SUB: David Turnbull (72' for Hatate) - 5/10
SUB: Kyogo Furuhashi (72' for Giakoumakis) - 5/10
SUB: Sead Haksabanovic (83' for Jota) - N/A
2. Real Madrid (4-3-3)
GK: Thibaut Courtois - 7/10 - Claimed a few crosses and pulled off some important saves.
RB: Dani Carvajal - 6/10 - It wasn't his finest night, but he didn't need to be at the races on his flank. Got an assist late on.
CB: Eder Militao - 5/10 - Caught out of position on occasion. Subbed at the break with injury.
CB: David Alaba - 7/10 - Real were in the game for so long thanks to Alaba's various last-ditch contributions.
LB: Ferland Mendy - 5/10 - Given problems by Abada and later Maeda.
CM: Aurelien Tchouameni - 6/10 - Kept possession ticking but didn't look extraordinary.
CM: Luka Modric - 7/10 - The veteran put a so-so first-half performance behind him to put in a match-winning one after the break.
CM: Toni Kroos - 7/10 - Sprayed some excellent cross-field balls when given time and space.
RW: Federico Valverde - 9/10 - Outstanding. Most of Celtic's problems were caused by the Uruguayan, who buzzed about the pitch making himself a nuisance.
CF: Karim Benzema - 4/10 - Scarcely involved before being substituted after half an hour with an injury.
LW: Vinicius Junior - 7/10 - Played on the periphery for the most part but came alive when he needed to.
Manager: Carlo Ancelotti - 7/10 - Whatever he said at half-time clearly worked as Real turned up the heat to put Celtic to thee sword.
SUB: Eden Hazard (30' for Benzema) - 8/10 - Played a huge role in the Real's impressive second half.
SUB: Antonio Rudiger (46' for Militao) - 7/10 - Solved Real's wobbly defensive woes.
SUB: Eduardo Camavinga (71' for Tchouameni) - 6/10
SUB: Rodrygo (80' for Vinicius) - N/A
SUB: Marco Asensio (80' for Modric) - N/A