Rodri scores a late winner for City.
Rodri gave Man City all three points after Gabriel was sent off midway through the second half (Getty)

A late Rodri strike helped Manchester City snatch a last-gasp win against Arsenal in an action-packed match at the Emirates Stadium.

A Bukayo Saka goal midway through the first half gave Arsenal the lead, before Riyad Mahrez tucked away a controversially-awarded penalty to level the scoreline shortly before the hour mark.

Arsenal were reduced to 10 men when Gabriel Magalhaes was sent off for a second bookable offence shortly after Mahrez’s equaliser, before Rodri’s stoppage time winner sent the away end into raptures.

Both sides went into the game in fine form, with Arsenal winning each of their last five matches In all competitions, while City had gone on a 12-match unbeaten run in the top flight to extend their lead to eight points at the top of the league table.

The Gunners made one change from the 5-0 hammering of Norwich in their last match, with the returning Takehiro Tomiyasu replacing Rob Holding in defence.

While City were without star midfielder Phil Foden, who is ‘short of full fitness’, according to the club.

Arsenal thought they had a strong claim for an early penalty when Martin Odegaard looked to have got in front of Ederson in the penalty box, before the Norway international fell to the ground amid an outstretched leg from the City goalkeeper.

Arsenal midfielder Martin Odegaard and Manchester City goalkeeper Ederson.
Arsenal thought they should’ve had an early penalty when Martin Odegaard clashed with Ederson (Getty)

However, referee Stuart Attwell waved away the claims, before VAR official Jarred Gillett also saw no reason to overturn the on-field decision. 

Just minutes later, City should’ve been ahead when Sterling’s vicious cross fell nicely onto the head of the unmarked Ruben Dias, but his glancing attempt went agonisingly wide of Aaron Ramsdale’s far post.

And Dias was left to rue his glaring miss when Arsenal took the lead just after the half-hour mark following a fine passing move which ended with Saka calmly slotting a shot into the bottom corner from the edge of the box.

Saka’s strike was just the second goal City have conceded in the first half of any Premier League match so far this term, with Crystal Palace’s Wilfried Zaha the only other player to achieve the feat.

Arsenal forward Bukayo Saka.
Bukayo Saka’s fine finish from the edge of the box gave Arsenal the lead (Picture: Getty)

The Gunners almost doubled their advantage seven minutes later when the in-form Gabriel Martinelli let fly from outside the box, but his curling strike just went the wrong side of the post.

The Brazil youth international then created a chance of his own, with his direct run causing city’s defence all kinds of problems, before his toe-poked shot again drifted just wide.

Arsenal started the second half just how they finished the first, as they looked to double their lead and in turn provide some daylight between them and their opponents.

But despite their dominance, City were awarded a penalty against the run of play when Bernardo Silva went down following a tackle from Granit Xhaka.

Manchester City star Bernardo Silva appeals for a penalty.
Bernardo Silva was awarded a penalty via VAR following a clash with Granit Xhaka (Picture: Getty)

Attwell believed that Xhaka’s challenge didn’t warrant a penalty, but Gillett disagreed and called the referee over to the monitor, before he reversed his decision.

After Arsenal centre-back Gabriel was booked for scuffing up the penalty spot, Mahrez stepped up and calmly slotted the spot-kick into the back of the net, sending Ramsdale the wrong way to level arrears.

Arsenal almost retook the lead just moments later when Aymeric Laporte almost headed the ball into his own net, only for his fellow City teammate Nathan Ake to clear it off the line before Martinelli skewed a shot from a good angle wide of the goal.

The momentum of the game completely changed shortly after, when Gabriel was given his second yellow card for a cynical foul on Gabriel Jesus to give City a man advantage for the final half-hour of the game.

Arsenal defender Gabriel Magalhaes.
Arsenal were reduced to ten men when Gabriel Magalhaes was sent off with 30 minutes to play (Getty)

The Gunners brought off Odegaard as he was replaced by Holding to fill the void left by the red card, while Emile Smith Rowe was also introduced for Alexandre Lacazette with 20 minutes to play.

City piled on the pressure and found a way through Arsenal’s defence in stoppage time when Rodri made space for himself in the box, before calmly slotting past Ramsdale to steal all three points.

.

.