John Stones scored a 98th minute equaliser as Manchester City drew 2-2 with Arsenal in an enthralling encounter at the Etihad.
The Gunners, having defended the entire second half with 10-men after Leandro Trossard was sent off before half-time, held on right until the very last throes of the game, but a lapse in concentration from a short corner led to the equaliser.
It was City who drew first blood as Erling Haaland scored his 10th goal of the Premier League campaign after just nine minutes, and City were in control.
That was until the hosts were slow getting back into position from a quick Arsenal free-kick, which led to Riccardo Calafiori finding space on the edge of the box and curling a ball past goalkeeper Ederson to level things up.
There was little goal-mouth action for nearly 20 minutes, until Gabriel missed a header from a corner. Then, around seven minutes later, a near identical set-play led to a similar chance which the Brazilian this time took, putting his side 2-1 up before the break.
Everything was going Arsenal's way, that was until Leandro Trossard committed a foul despite already being on a yellow card, and he was given his marching orders in the eighth minute of added time.
The second half was going to be a slog for Mikel Arteta's side, and it turned into an onslaught.
In the second half alone, City took 28 shots, testing David Raya with nine of those, but some staunch defending, coupled with some more excellent goalkeeping from David Raya, kept City at bay, until Stones scored with the final shot of the match.
It was a quick corner from sub Jack Grealish who after a one-two, played the ball into Mateo Kovacic. His shot was blocked but fell to John Stones just on the edge of the six-yard box, and the Englishman made no mistake with his finish.
Tempers flared on the restart, as Erling Haaland appeared to run through an Arsenal player, sparking a mini-mele, and the final whistle followed soon after.
It was a breath-taking game, and leaves both teams unbeaten in the league, City top on 13 points and Arsenal fourth on 11.
Despite failing to hang on, this result does mean that Arsenal are unbeaten against Manchester City in the last four head-to-head meetings, drawing the last two at the Etihad.