The sides will meet twice more in the next three months in the Premier League with the title on the line.
Arsenal hold a five-point lead over the defending champions at the top of the table, but fell to their first defeat since November at the Etihad.
Mikel Arteta may regret making six changes as the Gunners lacked their usual spark in the final third with Martin Odegaard and Gabriel Martinelli among those left on the bench.
But Martinelli’s replacement, Leandro Trossard, did make a positive impression on his full debut.
The Belgian international teed up Takehiro Tomiyasu to sting the palms of Stefan Ortega before Trossard forced the German goalkeeper into the best save of the first half.
In between times at the other end, Rob Holding was having to resort to man-handling Erling Haaland to keep him quiet.
The Norwegian saw an ambitious overhead kick from long range cleared by Tomiyasu with Arsenal ‘keeper Matt Turner stranded before Kevin De Bruyne curled City’s best effort of the first half inches wide.
Arteta took no chances at the break by introducing William Saliba for Holding with the Englishman on a booking.
Guardiola had made just one outfield change from City’s 3-0 win over Wolves.
However, it was his one of his substitutes, Julian Alvarez, that brought a lacklustre second half to life 26 minutes from time.
The Argentine’s long-range effort cannoned back off the post and from the rebound Jack Grealish’s pass picked out Ake, who curled into the far corner.
Arteta responded by throwing on Martinelli, Odegaard and Oleksandr Zinchenko.
The visitors nearly hit back immediately as only a brilliant clearance from Aymeric Laporte denied Eddie Nketiah a tap in.
But Arsenal failed to create another chance to equalise as City comfortably saw out the closing stages to lay down a marker on the challengers to their crown as the dominant force in English football.
AFP