Kevin de Bruyne produced a moment of world-class quality to tighten Manchester City's stranglehold on the Premier League title race with victory over Chelsea at Etihad Stadium.
The former Chelsea player broke the deadlock in a tight game with a superb curling drive past keeper Kepa Arrizabalaga with 20 minutes left to extend City's lead at the top of the table to an imposing 13 points.
Chelsea had their chances, the best coming when Ederson saved from Romelu Lukaku in the second half but De Bruyne made the difference and City now also have a 14-point advantage over Liverpool, who have two games in hand.
City deserved the win for their greater urgency and possession, Kepa keeping out Jack Grealish with a first-half save, and this represents another significant stride in their quest to retain the Premier League crown.
De Bruyne makes the difference
In a game of this nature, fought out by two well-disciplined sides led by elite managers in Pep Guardiola and Thomas Tuchel, it always seemed likely a mistake or a moment of the highest quality would settle it.
And so it proved as De Bruyne created and finished the decisive move all on his own as City and Chelsea strived to make the breakthrough.
City had not been able to impose sustained threat on Chelsea, despite having so much possession, but they have the calibre of player who can fashion a goal out of nothing.
On this occasion, it was De Bruyne who stepped up, running deep into Chelsea territory in the 70th minute before curling a perfect low right-foot finish before the outstretched left arm of Kepa and into the bottom corner.
Etihad Stadium celebrated in a fashion fitting for a moment of such class and importance and these three points once again give the impression that City's lead in the title race is pretty much unassailable.
Guardiola has stars at the other end too and keeper Ederson played his part with a vital save from Lukaku when he was clean through. He also brought fist pumps and wild applause from his manager when he raced out of the area to head clear and snuff out Chelsea danger late on.
City closed out the win without any serious alarms, Guardiola and his team striking a huge blow as they try to see off the chasing pack - which is effectively Chelsea and Liverpool - at the top of the Premier League.
Chelsea show effort but no inspiration
Chelsea for long spells looked like they might leave Etihad Stadium with some reward for a performance in which they kept Manchester City at arm's length for long periods.
In the end, however, they were undone by that moment of De Bruyne genius and their own inability take the rare opportunities that came.
Lukaku, who looks to be struggling for form and confidence, had those opportunities that you simply must cash in on against a team going for their 12th successive league win.
He was in a good position to shoot in the first half as he broke clear but chose to pass up responsibility and play in Hakim Ziyech, who added to manager Tuchel's frustration by straying into an offside position.
The biggest chance of all came when Lukaku was played through by Kovacic in the second half with the scoreline still goalless. There was not too much wrong with his finish but it lacked a little conviction and Ederson was able to make a save that proved crucial.
Tuchel's discontent was clear throughout as he saw his team penned in by City but Chelsea could have got something, even if it may have been fortuitous in the context of the entire game.
Once De Bruyne ended the stalemate, Chelsea had little to offer and in reality any very slim title hopes they may have had have been extinguished completely by this defeat.
Player of the match
De BruyneKevin De Bruyne
Chelsea
Squad number1Player nameArrizabalaga
Squad number2Player nameRüdiger
Squad number6Player nameThiago Silva
Squad number7Player nameKanté
Squad number8Player nameKovacic
Squad number31Player nameSarr
Squad number28Player nameAzpilicueta
Squad number19Player nameMount
Squad number3Player nameAlonso
Squad number10Player namePulisic
Squad number20Player nameHudson-Odoi
Squad number11Player nameWerner
Squad number9Player nameLukaku
Squad number22Player nameZiyech
Line-ups
Man City
Formation 4-3-3
31Ederson
2Walker5Stones14Laporte27Cancelo
20Bernardo Silva16Rodri17De Bruyne
7Sterling47Foden10Grealish
31Ederson2Walker5Stones14Laporte27Cancelo20Bernardo Silva16Rodri17De BruyneSubstituted forGündoganat 85'minutes7Sterling47FodenSubstituted forGabriel Jesusat 88'minutes10GrealishSubstitutes
3Rúben Dias8Gündogan9Gabriel Jesus13Steffen25Fernandinho79Mbete87McAtee90Lavia97Wilson-EsbrandChelsea
Formation 3-4-2-1
1Arrizabalaga
2Rüdiger6Thiago Silva31Sarr
28Azpilicueta7Kanté8Kovacic3Alonso
10Pulisic22Ziyech
9Lukaku
1Arrizabalaga2Rüdiger6Thiago Silva31Sarr28Azpilicueta7Kanté8KovacicBooked at 32mins3AlonsoBooked at 7minsSubstituted forMountat 81'minutes10PulisicSubstituted forWernerat 69'minutes22ZiyechSubstituted forHudson-Odoiat 69'minutes9LukakuSubstitutes
5Jorginho11Werner12Loftus-Cheek13Bettinelli17Saúl18Barkley19Mount20Hudson-Odoi29HavertzReferee:Craig PawsonAttendance:53,319Live Text
Match ends, Manchester City 1, Chelsea 0.
Second Half ends, Manchester City 1, Chelsea 0.
Foul by Bernardo Silva (Manchester City).
Mateo Kovacic (Chelsea) wins a free kick in the defensive half.
Offside, Chelsea. César Azpilicueta tries a through ball, but Timo Werner is caught offside.
Substitution, Manchester City. Gabriel Jesus replaces Phil Foden.
Attempt saved. Jack Grealish (Manchester City) left footed shot from a difficult angle on the left is saved in the top left corner. Assisted by Rodri.
Substitution, Manchester City. Ilkay Gündogan replaces Kevin De Bruyne.
Attempt missed. Phil Foden (Manchester City) left footed shot from the centre of the box is too high. Assisted by Raheem Sterling.
Substitution, Chelsea. Mason Mount replaces Marcos Alonso.
Foul by Bernardo Silva (Manchester City).
Marcos Alonso (Chelsea) wins a free kick on the left wing.
Attempt blocked. Timo Werner (Chelsea) right footed shot from the centre of the box is blocked. Assisted by César Azpilicueta.
Goal! Manchester City 1, Chelsea 0. Kevin De Bruyne (Manchester City) right footed shot from outside the box to the bottom right corner. Assisted by João Cancelo.
Substitution, Chelsea. Callum Hudson-Odoi replaces Hakim Ziyech.
Substitution, Chelsea. Timo Werner replaces Christian Pulisic.
Attempt missed. Raheem Sterling (Manchester City) right footed shot from the right side of the box is close, but misses to the left. Assisted by Phil Foden.
Corner, Chelsea. Conceded by Kyle Walker.
Foul by Rodri (Manchester City).
N'Golo Kanté (Chelsea) wins a free kick in the attacking half.
Our coverage of your Premier League club is bigger and better than ever before - here's everything you need to know to make sure you never miss a moment