John Stones scores for Manchester CityImage source, PA Media
Image caption,

John Stones' equaliser came in the 98th minute, at the very end of a second half where Manchester City struggled to create openings against their 10-man opponents

John Stones scrambled home an equaliser seconds from time amid chaos and controversy to deny Arsenal a famous victory against Manchester City at Etihad Stadium.

Arsenal had mounted a magnificent rearguard action following the first half-dismissal of Leandro Trossard - and stood moments away from arguably the finest moment in manager Mikel Arteta's reign - until substitute Stones forced in following a well-worked short corner at the end of seven minutes of added time.

There will be pride as well as pain for the Gunners, who went behind early on to Erling Haaland’s 100th goal for Manchester City but turned a thrilling encounter on its head to lead before the interval.

In moments of huge significance, City lost talisman Rodri with a knee injury after 21 minutes, manager Pep Guardiola's mood worsening even further when Arsenal defender Riccardo Calafiori swept home an angled finish high past Ederson seconds later.

Media caption,

Match of the Day 2: Red card chaos & Erling Haaland 'housery'

Arsenal's set-piece expertise was in evidence again as Gabriel, in a replica of his winner at Tottenham last week, headed home a corner at the far post seconds into first-half stoppage time.

The most contentious incident came seconds before the break when Arsenal's Trossard was given a second yellow card for kicking the ball away, leaving the visitors nursing a sense of injustice after City's Jeremy Doku had escaped punishment for a similar offence.

It set the scene for a City siege after the break, but Arsenal defended with courage, resilience and organisation, aided by the heroics of goalkeeper David Raya, only to be denied right at the end - as they were on the brink of inflicting the first home Premier League defeat on the champions since Brentford won at Etihad Stadium in November 2022.

Stones' dramatic intervention means City stay top of the Premier League.

Arsenal prove title credentials despite setback

Image source, Getty Images
Image caption,

For a long time it looked like Gabriel would score the winning goal for Arsenal for the second Premier League game in a row

Arteta may have won the FA Cup against Chelsea in 2020 - but if they had survived just a matter of seconds longer in a frantic finale at Manchester City, this may just have been the best win of his managerial career.

The Gunners were simply magnificent in defence of a 2-1 lead, their task made harder by Trossard's foolish decision to effectively invite a second yellow card from referee Michael Oliver seconds before half-time when he kicked the ball away following a needless barge into Bernardo Silva.

City camped out in the Arsenal half in what became an exercise in attack against defence but, with Ben White replacing Bukayo Saka at the break as a defensive reinforcement, Arteta's team were brilliantly drilled and played without a hint of panic as the Premier League champions became ever more desperate in search of an equaliser.

Arsenal keeper David Raya was again flawless as he commanded his area and repelled all City's attacks, so it was perhaps inevitable they were only broken down amid a pile of bodies and a last-second scramble at a corner.

Arteta and his players could rightly point, as they did when Declan Rice was sent off recently for a second yellow card after kicking the ball away against Brighton, that there was inconsistency in Oliver's failure to punish Doku for doing the same thing earlier in the first half, but it was needless from the Belgian and put Arsenal under the sort of pressure they were eventually unable to resist.

Arsenal were on top, in the lead, and playing against a City side robbed of their talisman Rodri through an early injury. It left the Gunners, who had posed real attacking threat, with a backs-to-the-wall task.

What is without question is that Arsenal have once again proved, as they did when winning at Aston Villa and Tottenham, their mettle and stomach for this title fight, pushing City right to the edge and within seconds of their first win at Etihad Stadium since January 2015.

Guardiola and Man City live on their nerves

Media caption,

Man City 2-2 Arsenal: Pep Guardiola - 'Arsenal showed incredible commitment'

Manchester City boss Guardiola's wild animation throughout the swings of fortunes that characterised this all-action meeting of the Premier League's two superpowers said everything about its importance.

Guardiola recognises that Arsenal, and his former assistant Arteta, are the biggest threat to City claiming a fifth successive Premier League crown and was keen to strike an early psychological blow.

He pumped his fists wildly towards City's fans when intense pressure was rewarded with Haaland's clinical finish after nine minutes, the striker scoring his 100th City goal in 105 appearances from Savinho's inviting through ball.

Guardiola's joy did not last, kicking his seat in a rage when Calafiori equalised, although whether his anger was because Arsenal had stolen a march with a quick free-kick - or his players were badly caught out - was unclear.

It took all City's patience to finally make that late breakthrough when all seemed lost, Guardiola's side lacking their usual fluency without the injured Kevin de Bruyne.

City will wait anxiously to discover the extent of Rodri's injury as he appeared to twist his knee in a tangle with Thomas Partey at a corner. It was a painful experience all round for the outstanding midfield who means so much to Guardiola's side, having already been pole-axed by the shoulder of Arsenal's Kai Havertz seconds after kick-off.

This was a game that lived up to hype and expectation, with goals incident and controversy - Guardiola celebrating again when Stones pounced at the end of a game that left players, managers and fans drained.

Media caption,

'I am proud of the team'- Arteta

Player of the match

Number: 5 J. Stones
Average rating 8.53
Number: 5 J. Stones
Average Rating: 8.53
Number: 9 E. Haaland
Average Rating: 5.58
Number: 26 Savinho
Average Rating: 5.31
Number: 47 P. Foden
Average Rating: 5.20
Number: 20 Bernardo Silva
Average Rating: 5.18
Number: 11 J. Doku
Average Rating: 5.09
Number: 10 J. Grealish
Average Rating: 5.09
Number: 24 J. Gvardiol
Average Rating: 5.02
Number: 19 İ. Gündoğan
Average Rating: 5.01
Number: 8 M. Kovačić
Average Rating: 4.96
Number: 3 Rúben Dias
Average Rating: 4.88
Number: 31 Ederson
Average Rating: 4.86
Number: 25 M. Akanji
Average Rating: 4.84
Number: 2 K. Walker
Average Rating: 4.80
Number: 16 Rodri
Average Rating: 4.48

After the opportunity to rate players has closed, the score displayed represents the average from all the submissions by BBC Sport users.