Erling Haaland scored on his 100th Manchester City appearance as the Premier League champions began their title defence with a win against Chelsea at Stamford Bridge.
Haaland opened the scoring on 18 minutes with a dinked finish over Robert Sanchez for his 91st City goal since joining from Borussia Dortmund in 2022.
Former Chelsea midfielder Mateo Kovacic made the game safe late on with a curling shot from just outside the penalty area.
A low-key match only fleetingly burst into life, with Kevin de Bruyne curling just wide from the edge of the box shortly after Haaland's opener, before Sanchez made a fine save from Jeremy Doku’s deflected drive.
Nicolas Jackson thought he had equalised after City goalkeeper Ederson fumbled Cole Palmer’s shot into his path, but the Senegal forward had just strayed offside.
Jackson then fired a first-time volley straight at Ederson as Chelsea pushed for an equaliser after the break.
City also went close through Haaland, while Rico Lewis had a goal disallowed, before Kovacic sealed the points.
Composed City get job done
Manchester City had their pre-season disrupted by key players having extended breaks following summer internationals.
That includes England trio Phil Foden, John Stones and Kyle Walker - who were fit enough to make the bench - and Spain midfielder Rodri, who was left out entirely after only resuming training this week.
Manager Pep Guardiola was able to hand a debut to summer signing Savinho, but the Brazil winger was forced off at half-time with a knock and replaced by Foden.
That pre-season disruption perhaps explains a solid if unspectacular performance, albeit one where they always had an element of control.
The performance of Kovacic in the absence of Rodri will have pleased Guardiola.
City lost three out of four league games when Rodri did not play last season, but a composed display - and a fine goal - from the Croatia midfielder suggests his absence may not be as keenly felt this time around.
Chelsea struggle to get going
Chelsea spent about £185m on 11 new signings this summer to leave new manager Enzo Maresca with the task of trying pick a matchday squad from a pool of more than 40 senior players.
That meant some established stars were left out for Sunday's game - including Raheem Sterling, whose representatives have called for "clarity" on the forward's future.
Despite the clutch of new signings none were named in the starting XI, though Kiernan Dewsbury-Hall, Marc Guiu, Pedro Neto and Renato Veiga came on in the second half - only the second time a Premier League side has fielded four debutants in the same game.
Portugal winger Neto, a £54m capture from Wolves, was the brightest of the quartet, with his arrival visibly lifting the rest of the team as they sought an equaliser.
But overall it was a disjointed performance, which is perhaps expected given the significant number of signings and arrival of a new manager.
The spirit shown, though, particularly in the second half as Chelsea attempted to get back into the game, at least gives Maresca something to build on.
Player of the match
After the opportunity to rate players has closed, the score displayed represents the average from all the submissions by BBC Sport users.