It is hard to believe now that Manchester City lost this fixture 4-2 a year ago, putting in a shambolic performance that fatally undermined any pretensions they might have had of a title challenge.

They arrived here 18 points ahead of the Foxes and deservedly increased the gap to 21 with an impressive display of control, even with two centre-halves who were rusty through lack of games. Leicester City did not play badly; they might have taken something from the game against most opponents, but the whole point about Manchester City these days is that they are not any old opponents.

This was their 10th league win in a row, their 16th of an all-competition sequence, and it could have been even more emphatic, with Leroy Sané in particular finding space and running past defenders at will.

When Pep Guardiola the perfectionist puts together his weekly mistake compilation for training-ground analysis, he will probably point to a couple of occasions in the second half when his side were grateful to see offside flags raised against Jamie Vardy, but will mostly be wanting to know why his forwards did not finish with the sort of precision they showed in their buildups.

“We scored two amazing goals, but we created a lot more promising situations,” Guardiola said. “We could still be a little better in the final action.”

Making his first start in more than two months, Vincent Kompany was nearly in trouble after a couple of minutes for a professional foul on Vardy. A delicately weighted pass from Vicente Iborra hit Vardy’s stride before Kompany had recognised the danger and all the defender could do was bring down the Leicester striker before he raced into the penalty area. The home supporters clearly felt Graham Scott took the easy option in producing just a yellow card, for, although it was hardly the clearest of goalscoring opportunities, it was just the sort of chance Vardy thrives on. “Kompany was the last man and it should have been a red card,” Claude Puel said. “That could have changed the face of the game.”

The first real goal chance of the afternoon arrived midway through the first half when Kasper Schmeichel had to be alert to tip a David Silva shot over his bar. The visitors had been stroking the ball around expansively without managing to find Gabriel Jesus on the end of any of their approach work, but when Fabian Delph played Sané into space on the left, his cut-back brought a first-time shot on target from David Silva.

A Manchester City backline already missing the suspended Nicolás Otamendi was further depleted on the half-hour when John Stones suffered a hamstring injury that will keep him out for a month. The England defender pulled up in pain after chasing the elusive Demarai Gray and was replaced by Eliaquim Mangala, making his second league appearance of the season. While Guardiola said he had no problem with Gareth Southgate playing Stones in both of England’s recent friendlies, he was the one who mentioned it.

Guardiola was worried about the pace in Leicester’s frontline even before he lost both his first-choice central defenders, so a goal on the stroke of the interval must have come as a relief. The visitors had been threatening to score for a while, with David Silva shooting over and Sané bringing a save from Schmeichel, and the only surprise about the opening goal was the identity of its scorer. Jesus had been having such an unproductive afternoon it was easy to forget he was on the pitch, but he popped up in exactly the right place, as goalscorers often will, to complete a prolonged passing move with a tap-in. David Silva could probably have scored on his own after Raheem Sterling played a one-two with Kevin De Bruyne and left him with only Schmeichel to beat; instead, he opted to make sure, aware that Jesus was up in support to his right.

Manchester City underlined their superiority with a goal of similar quality at the start of the second half, though one had to feel slightly sorry for Leicester, who effectively began the move when Harry Maguire saw a shot come back off a post. The hugely impressive Fernandinho moved the play swiftly upfield to De Bruyne, who accepted a return pass from Sané before shuffling the ball to his left foot to beat Schmeichel with a glorious rising drive from outside the area.

There were no more goals after that, although there could have been. Perhaps Manchester City are not yet as clinical as they would like to be, but towards the end of the game, when Maguire was eventually booked for fouling Sterling twice in the same move at either end of the pitch, you could tell Leicester had had enough of being run ragged. Normally one of the most energetic teams, they just wanted the match to be over.

While this draining effect on opponents might be nothing new for Guardiola, it is a significant, not to say ominous, development for opponents of Manchester City.