Manchester City defender John Stones accused Arsenal of gamesmanship after his 98th minute equaliser rescued a point for the champions against their 10-man Premier League title rivals.
Erling Haaland’s 100th City goal put the hosts ahead but Riccardo Calafiori’s curler and a header from set-piece specialist Gabriel Magalhaes turned the tables before half time.
Leandro Trossard’s second booking prompted Arsenal to batten down the hatches and they almost held out for a famous win until Stones pounced on a rebound in time added on to time added on.
A spiky affair threatened to boil over as City grew increasingly frustrated with Arsenal players needing treatment but Stones praised his teammates’ composure after they returned to the top of the table.
“They’ve done it for a few years and we know to expect that,” he told Sky Sports.
“You can call it clever or dirty but they break up the game and it upsets the rhythm for everyone. I thought we dealt with it and controlled our emotions really well.
“Over the past few years we’ve had a rivalry that’s been growing but it’s one that we thrive off. You always want to come away with three points but a point is something we should be proud of.”
Arsenal manager Mikel Arteta, meanwhile, made clear that he took issue with one of his players being sent off after kicking the ball away for the second time already this season.
“I think it’s very obvious, I don’t need to talk about it. It’s not my job to come here and say what happened,” he said.
“When you have survived for that many minutes to concede like that is very disappointing but I couldn’t be prouder.”
It was a physical battle straight from kick-off, where Rodri was felled in a collision with Kai Havertz, and City later lost their captain to a serious looking knee injury after a tangle with Thomas Partey.
By then they were already ahead, Savinho turning Calafiori and releasing Haaland to poke past David Raya and bring up his century of goals in just 105 games for the club.
But the Italian made amends when he swept a shot across Ederson and into the far corner, and Gabriel completed the reversal when he arrived late to score a second header from a corner in successive league games.
The next twist came in first-half stoppage time when Trossard kicked the ball away after conceding a foul and Michael Oliver administered a second booking.
City bombarded Arsenal after the break but, Raya saves from Haaland and Josko Gvardiol aside, they were kept at bay until Mateo Kovacic’s shot deflected to Stones and he forced it home amid a penalty-box scramble.