John Stones scored a 98th-minute equaliser to keep City top in an early game-of-the-season contender.
Erling Haaland gave the hosts the lead in the ninth minute which was cancelled out by Riccardo Calafiori – on his first start.
Gabriel headed Arsenal in front in first-half stoppage time, only for Leandro Trossard to be dismissed for a second bookable offence – Stones would eventually punish him.
Savinho skipped past Calafiori before releasing Haaland who poked the ball beyond David Raya at his near upright – for 100 goals in 105 City appearances.
Ilkay Gundogan curled a free kick against the outside of the post, but it would be Arsenal who struck next.
Calafiori, first time, bent the ball into the top right corner after Kyle Walker, summoned by Michael Oliver, was absent but should have sprinted back.
Calafiori grabbed Mikel Arteta in celebration for which there was more cause after Gabriel converted Bukayo Saka’s corner after earlier missing a mirror image.
Arsenal were reduced to 10 men after Trossard kicked the ball away – the same offence for which Declan Rice was recently punished.
City lacked creativity, but with their last attack substitute Stones fired a rebound into the roof of the net.
Feature Image: John Stones by Mark Strickland.