Manchester City outclassed Arsenal to open up an eight-point lead at the top of the Premier League for a few hours at least.
Kevin de Bruyne’s driven finish and a Sergio Aguero penalty put City on the way to a ninth successive league win, equalling a club record for a single season.
Though substitute Alexandre Lacazette pulled one back for Arsenal, Gabriel Jesus sealed victory for the home side from close range.
Arsenal were aggrieved at the penalty awarded for Nacho Monreal’s challenge on Raheem Sterling and Jesus also appeared to be offside for the third goal, but they did not deserve to take anything from the game.
Indeed, the Gunners would have been beaten by more had it not been for the saves of goalkeeper Petr Cech and the wastefulness of the hosts.
City’s advantage over second-placed Manchester United going into the two-week international break will be determined by United’s result at Chelsea later on Sunday (kick-off 16:30 GMT).
Arsenal slip to sixth, 12 points behind City, and face a battle to regain a place in the Champions League.
City have now won 15 consecutive matches in all competitions, including a Carabao Cup victory over Wolverhampton Wanderers on penalties.
Their march to the top of the Premier League has been built on some breathtaking attacking play and this win was no different, even if they were hampered by their lack of ruthlessness in front of goal.
City were particularly dangerous on the counter-attack, their pace, movement and precision passing a constant threat. Just behind the front three of Aguero, Sterling and Leroy Sane, De Bruyne was the orchestrator.
Aguero and Sterling could have both scored before De Bruyne broke the deadlock, the Belgian playing a one-two with Fernandinho and angling the ball inside the far post via Cech’s fingertips.
City could have been further ahead by the break, a David Silva ball across goal should have been finished, while Sterling was unable to feed Sane when Arsenal were outnumbered at the back.
Only when Aguero converted a penalty off the post, early in the second half, was the result beyond doubt.
Arsenal complained that Monreal’s tangle with Sterling should not have penalised, but the Arsenal defender hauled down the England midfielder without winning the ball.
Some sloppiness crept into City’s play – home keeper Ederson almost dropped Alex Iwobi’s long-range shot into his own net and they were carved open for Lacazette’s goal.
But substitute Jesus’ tap-in, from what seemed to be a clear offside position, was no more than Pep Guardiola’s side deserved.
It was to Arsenal’s credit that they did not capitulate – as they have done so often in the past – but this was a stark reminder of how far they lag behind the Premier League leaders.
Though they started brightly, the Gunners were soon pushed back by wave after wave of City attacks, a central defensive trio that included Francis Coquelin continually stretched.
Going forward, they lacked the incision and creativity of their opponents. Alexis Sanchez, pursued by City in the summer, was tireless in his efforts as a lone striker, but an isolated figure.
Sanchez was preferred up front to Lacazatte, the £46.5m summer arrival, but it was only when the France striker was introduced that Arsenal looked like taking anything from the game.
The visitors came down the inside-right channel, good work from Iwobi and Aaron Ramsey fed Lacazette, whose shot went through the legs of Ederson.
Even then, though, the prospect of Arsenal earning a point seemed unlikely and they needed Cech to deny Jesus and De Bruyne before the third City goal made the scoreline a fair reflection of the game.