Manchester City will be relieved to have claimed victory after kicking off 12 points behind Liverpool but there is a nagging sense Pep Guardiola’s champions are struggling to find high gear.

Jürgen Klopp’s leaders had earlier beaten Crystal Palace to open up a margin that would have been near-insurmountable had Chelsea not been overcome here. But Frank Lampard’s team were beaten, the winner coming courtesy of a sweet Riyad Mahrez strike on 37 minutes, after his dribbling created havoc. Kevin De Bruyne had equalised, City having trailed to N’Golo Kanté’s opener for only eight minutes; Guardiola’s men showed character to score when they did as Chelsea were dominating.

Mahrez said: “I did not even think about our gap from the top when we were losing 1-0. I thought about how to react to win the game. We focus on ourselves and we know if we do that we’ll be right up there at the end of the season.”

Manchester City leave Chelsea with duelling scars after high-class hoot | Paul Wilson Read more

Guardiola had Ederson back in goal in place of Claudio Bravo following the Brazilian’s recovery from a muscle problem in an XI that showed five changes from the 3-1 loss at Anfield two Sundays ago. Chelsea last lost in the league two months ago – against Liverpool – and arrived on a run of six successive wins. Lampard made two alterations, standing Mason Mount and Reece James down for Jorginho and César Azpilicueta.

City’s first move had Sergio Agüero sliding the ball through to the impressive De Bruyne. He raced along the right channel before flashing a shot past Kepa Arrizabalaga’s right post. The same pair combined again when a Chelsea attack foundered.

Suddenly sky-blue shirts flooded forward. Agüero sprinted at a rapidly retreating rearguard and passed to De Bruyne but after he cut on to his left and found David Silva, the latter’s chip was cut out.

Pep Guardiola worried by Agüero injury, praises Lampard as ‘brave manager’ Read more

Chelsea’s response was instant. Willian was found on a curving run along City’s left but his effort missed to Ederson’s right. This signalled a period of pressure that had Emerson Palmieri, Christian Pulisic, Jorginho and Tammy Abraham probing City’s defence.

The contest was a frantic affair. One moment De Bruyne was creating an opening, the next Chelsea had a corner: from it a chance fell to Fikayo Tomori but he failed to test Ederson.

João Cancelo – preferred to Kyle Walker at right-back – won a throw-in near Chelsea’s left corner flag but it was no surprise to find his team defending moments later. The visitors burst upfield and City sighed with relief when Abraham was adjudged to be offside.

Lampard’s side were moving possession swiftly and this was how they would score. Mateo Kovacic swapped passes with Jorginho and then flipped the ball into the breaking Kanté. He ran on and, though Benjamin Mendy galloped across, the City left-back could not prevent Kanté from rolling the ball home as Ederson rushed out.

Liverpool and Roberto Firmino scramble to see off Crystal Palace Read more

The goal again illustrated City’s vulnerability when opponents come at them quickly, especially with their defensive linchpin, Aymeric Laporte, a long-term absentee.

Chelsea were controlling the contest through triangular passes inside City’s half, but Guardiola’s men broke away again for their equaliser. Fernandinho intercepted a Jorginho ball near halfway, then De Bruyne took over. There was fortune in how his shot beat Arrizabalaga – the ball ricocheting off Kurt Zouma’s boot – but this was an admirable City response.

Even better arrived from the dazzling Mahrez as he ran a devilish diagonal at Pulisic and Emerson, swerving between them and finishing slickly to Arrizabalaga’s right.

Alexandre Lacazette rescues Arsenal but boos greet Southampton draw Read more

Having been rocking now City had their visitors reeling after a turnaround that took less than 10 minutes. It could have been worse for Chelsea by half-time as Agüero hit the upright when Arrizabalaga gifted him the ball. Moments after this only a mix-up between Silva and Raheem Sterling saved the visitors again in what had been a topsy-turvy affair.

Rodri was replaced by Ilkay Gündogan on 51 minutes because of cramp. Guardiola will have been annoyed at the space Azpilicueta was now afforded to pull the ball back to Kanté when only a trailing Fernandinho leg stopped what could have been the equaliser. City shrugged it off with an attack that ended with De Bruyne winning a corner.

Lampard swapped Pulisic for James just before the hour. Soon after Silva found Sterling and Chelsea were lucky to escape. City dominated but still were too open, though Mahrez was unlucky not to make it 3-1 from close in.

Phil Foden came on for Silva – who was also cramping – and later tried to beat Arrizabalaga but found only his hands. Sterling thought he had made the points safe late on but was once again denied by VAR, for a marginal offside.