Last-gasp Stones earns City deserved point
John Stones' equaliser eight minutes into added time earned City a 2-2 draw in an explosive encounter at the Etihad.
The Blues started brightly and were ahead after just nine minutes through a smart Erling Haaland finish.
But after losing Rodrigo with injury on 22 minutes, the Gunners hit back with two goals before the break - one after a VAR check that suggested Ederson had been clearly impeded.
Arsenal were reduced to 10 men in first-half added time, but the Blues couldn't find a way past the visitors' packed defence after the break - until substitute Stones fired home with seconds remaining.
What happened
If there was any doubt of the fierce rivalry between these two signs, four seconds in we had our answer as Kai Havertz appeared to barge into Rodrigo straight from kick-off leaving the Spaniard on the turf for almost two minutes.
Then Erling Haaland gave Gabriel a robust shoulder challenge that left the Brazilian in a heap on the ground – had the Gunners inadvertently lit the blue touch paper?
Not long after, the Etihad roof nearly came off after Savinho cleverly span off his marker on the right flank before moving in-field and playing the ball into Haaland’s path – the Norwegian did the rest, poking a low left-foot shot past David Raya into the bottom right-hand corner of the net.
It was his one hundredth City goal in just 105 appearances -an incredible return by a generational talent.
With tackles flying in from either side, it was a powder keg atmosphere and on 14 minutes, there was more controversy as a City corner came in and Rodrigo appeared to collide with Thomas Partey before going down clutching his leg.
After a lengthy delay, Rodrigo was forced to leave the pitch – TV replays were inconclusive as to what had actually happened, but Mateo Kovacic came on as his replacement.
Just a minute later, the City players looked to have momentarily switched off when a free-kick was awarded for Arsenal near the centre circle – it was taken quickly and Gabriel Martinelli raced down the left before playing the ball back to Riccardo Calafiori who hit a curling angled shot past Ederson to make it 1-1.
The City players were incensed, perhaps suggesting they had been waiting for a whistle, but referee Michael Oliver saw nothing wrong, and the goal stood.
It was Arsenal’s first meaningful attack after being pinned back for most of the game up to that point, but it was a reminder – if needed – of how these games operate on such a fine balance.
Then, in first half added time, another moment that infuriated the City players as Arsenal went ahead from a corner as Gabriel arrived late to thunder a header home.
Despite a VAR check that clearly showed Ederson being blocked by two Arsenal players, the goal was given.
And this explosive first 45 was not over yet, as Leandro Trossard was dismissed after receiving a second yellow card.
Trailing 1-2 but with an additional man – could City turn the game around?
Arsenal's response to being reduced to 10 was to bring on Ben White for Bukayo Saka and effectively have two lines of five players in and around their own box.
It made for a classic defence versus attack, with the Gunners using up time whenever the opportunity arose and generally angering the vast majority of the Etihad in the process.
On 62 minutes, the Blues came desperately close as Josko Gvardiol shot from 10 yards produced a wonder save from Raya with a goal looking certain.
Phil Foden was introduced on 70 minutes, but time and time again City were faced with a wall of red and white.
The visitors' time-wasting antics were infuriating at times for fans and players, with several stoppages in the closing stages as they attempted to see time out.
And it looked as though they had done just that, with the seven minutes of added time up, a final cross into the box resulted in a goal-mouth scramble that saw Stones fire into the roof of the net to send the Etihad wild.
For City fans at least, it felt as though justice had been done.
WATCH: "I just love the feeling": Haaland reaches 100 goals for City!
Teams
CITY: Ederson, Walker (Stones 78), Akanji, Dias, Gvardiol, Rodrigo (Kovacic 21), Gundogan, Bernardo, Savinho (Grealish 78), Doku (Foden 70), Haaland
Subs: Ortega Moreno, Carson, Nunes, Lewis, McAtee
ARSENAL: Raya, Timber (M. Lewis-Skelly 90+2) Saliba, Gabriel, Calafiori (Kiwior 73), Partey, Rice, Havertz, Saka (White 46), Martinelli (Jesus 87(, Trossard (sent off 45+7)
Subs: Neto,, Kacurri, Jorginho, Nwaneri, Sterling
Attendance: 52,846
CITY v WATFORD | GET YOUR TICKETS
Player of the Match
Savinho gave Calafiori a torrid time, especially in the first-half and also assisted Haaland's goal in another impressive display from the Brazilian.
TEMPERS FLARE IN ILL-TEMPERED CLASH
Who'd be a referee?
This was a game where officials needed eyes in the back of their heads as City and Arsenal locked horns and plenty more besides.
Rodrigo was floored after just four seconds by a dubious Kai Havertz barge, but TV cameras seemed to miss the foul completely.
If VAR had intervened, it could only have resulted in a red card for the German, but as it was not inside the box, the challenge was not seen as a clear or obvious error.
However, VAR's decision not to disallow Arsenal's second goal seemed poor at best.
When a goalkeeper is prevented from moving by two opposition players, how can that not be deemed a foul?
The debate around VAR will continue to rage - and decisions like that will surely guarantee that it does for some considerable time.
What it means...
City go back to the top of the Premier League, one point clear of Liverpool and Aston Villa.
The Blues remain unbeaten this season as a result with five Premier League games played.
What's next?
In just over 48 hours, City are back in action as we host Watford in the Carabao Cup third round.
The Blues take on Tom Cleverley's side at 19:45 (UK), Tuesday, September 24.
Then we are back in Premier League action on Saturday 28 September, away to Newcastle United with a 12:30 (UK) kick-off.