Gabriel Jesus’ second-half strike gave Pepe Guardiola’s men a deserved victory as they gained small revenge for last season’s Champions League final defeat to Thomas Tuchel’s men by the same scoreline.
City offered far the greater enterprise, with Jesus’ winner helping Pep Guardiola avoid an unwanted first of losing to the same rival manager four matches in succession.
Tuchel and Chelsea had sunk City three times last term, culminating in that 1-0 Champions League final triumph in Porto.
But in a new campaign that promises a mouthwatering title tussle between holders City, Chelsea, Manchester United and Liverpool, Guardiola’s men have delivered the first real statement victory.
City’s ferocious press stifled Chelsea throughout, and the visitors to west London coped easily with the hosts’ formation tweak.
Tuchel packed the midfield with all three of N’Golo Kante, Jorginho and Mateo Kovacic, but that 3-5-2 left Timo Werner and Romelu Lukaku too often too isolated up front.
Mason Mount’s injury absence robbed the Blues of a major pressing threat at the top of their tree however, handing the visitors time to build from the back.
Chelsea could do little more than contain the visitors in a first half where the home men found possession greatly limited.
The Blues certainly sacrificed a creative edge for that central stability, with Werner and Lukaku often isolated up front. Werner did beat the City line once, but could not pick out Lukaku in the middle.
Kevin De Bruyne’s cutback found no one in the area for City, leaving Chelsea to breathe a sigh of relief and later Jorginho produced an important clearance after a Phil Foden corner. Then, at the end of the half, Jesus hooked well wide from the best chance to that point.
The City forward smartly lost Antonio Rudiger in the box, teed himself up well too – but let all that down with his botched finish.
For once Tuchel resisted the temptation to make a half-time change, and no sooner had the second half started than the home boss would have wished he had twisted instead of stuck.
Jack Grealish offered a warning shot by curling one wide, before Jesus finally broke the deadlock.
Joao Cancelo’s low effort found its way to Jesus in the box, the Brazil forward spun in traffic and his low shot took a slight deflection en route to finding the Chelsea net. Edouard Mendy was left with no chance, as City gained just reward for boasting the greater attacking endeavour.
Grealish almost doubled City’s lead minutes later, but the former Aston Villa man angled his effort just wide after neatly stepping beyond Cesar Azpilicueta.
Just before the hour Tuchel finally made the first change, with Kai Havertz replacing Kante. France’s World Cup-winning midfielder had struggled to settle in his new role in Chelsea’s three-man midfield.
City pressed on undeterred however, and Silva had to clear Jesus’ shot off the line after Grealish again left Azpilicueta for dead.
Lukaku thought he had equalised for Chelsea from Havertz’s square pass, only for the Germany star to be rightly ruled offside in the build-up.
Chelsea continued to press but with no clear incision, despite greatly raising their tempo, but City could have wrapped up the win when Grealish ghosted through on goal, only for Mendy to stand him up and produce a fine save.
Additional reporting by PA.