Gabriel Martinelli's late goal on his return from injury gave Arsenal their first Premier League win over Manchester City since 2015, as Mikel Arteta got the better of mentor Pep Guardiola for the first time as a manager in the competition.
Martinelli, a half-time substitute, scored in the 86th minute with a deflected shot off Nathan Ake that lifts Arsenal above Man City in the table with a result that will give huge belief to the Gunners' hopes of winning the title.
Both sides made three changes, with the headline team news being Bukayo Saka missing out with an injury picked up in the UEFA Champions League in midweek. It ended the winger's club-record run of 87 consecutive Premier League appearances that was also the longest active run in the competition.
Ake came back into Man City's team and it was the Dutch defender who had the best chance of the match in the first four minutes.
Declan Rice cleared Josko Gvardiol's back-post effort off the line before, in the same run of play, Erling Haaland set up Ake, who fired over the bar from close range when he had only David Raya to beat.
Man City then came within inches of scoring 17 minutes in, when Raya took too long to play out from the back and his clearance ricocheted off Julian Alvarez and wide of the Arsenal 'keeper's goal.
With Man City having two big chances to Arsenal's none, Arteta made a half-time change, Martinelli returning from injury to replace Leandro Trossard, and the Brazilian changed the match.
The match-defining moment came with just four minutes remaining, and two of Arteta's other substitutes had a big involvement.
Takehiro Tomiyasu combined with Kai Havertz, who teed up Martinelli to shoot in from the edge of the box via a big deflection that wrongfooted Ederson.
It stunned Man City, who were unable to reply, with Gvardiol's fourth-minute effort being their only shot on target of the match as Haaland was a bystander for much of the match.
It means Arsenal remain as one of only two unbeaten teams in the Premier League this season and are behind the other, Tottenham Hotspur, in the table on goals scored alone.
Man City are third, two points behind, having suffered back-to-back Premier League losses for the first time since 2018.
Arsenal report | Man City report
Match officials
Referee: Michael Oliver. Assistants: Stuart Burt, Lee Betts. Fourth official: Tim Robinson. VAR: John Brooks. Assistant VAR: Darren Cann.
WHO'S GOING TO BE YOUR
MAN OF THE MATCH?
Vote at Full-time