TEN-MAN ARSENAL and Granit Xhaka were the masters of their own downfall against Manchester City again.
Rodri grabbed the runaway leaders’ stoppage-time winner to end the home side’s brave resistance.
And this will feel every bit as painful as the 5-0 hammering the Gunners took at the Etihad back in August.
Arsenal's brilliant first-half performance was undone by a few minutes of madness early in the second period.
Xhaka, sent off in the 5-0 defeat at the Etihad, gave away the penalty that allowed Riyad Mahrez to cancel out Bukayo Saka’s opener.
And on this occasion it was Brazil defender Gabriel who saw red after being shown two yellow cards in quick succession before and after the spot-kick.
The Arsenal fans sang '2-1 to the referee' after Rodri broke their hearts from close range in the third of six added minutes - only City's SECOND shot on target in the entire game.
But the real blame lies closer to home, despite VAR failing to give the home side a penalty of their own in the first half.
Most read in Football
FREE BETS: GET OVER £2,000 IN NEW CUSTOMER DEALS
City’s spot-kick and Gabriel’s dismissal turned the game on its head after Arsenal had produced surely the best 45 minutes of football that Pep Guardiola’s runaway leaders have faced this season.
Boss Mikel Arteta, forced to watch from home after contracting Covid-19 for the second time, must have been delighted with his team.
The Gunners were the better side from the start and thought they should have had a penalty of their own in the tenth minute for Ederson’s challenge on Martin Odegaard.
The City goalkeeper got a bit of the ball and plenty of the man, but VAR Jarred Gillett did not see enough to overrule referee Stuart Attwell’s initial decision to award a corner.
At the other end, Ruben Dias should have done better with a free header after Arsenal keeper Aaron Ramsdale flew recklessly out of his six-yard box.
But the visitors could have had no complaints when Arsenal took the lead with a beautifully worked goal.
A lovely move ended with Kieran Tierney finding Saka, who swept the ball crisply past Ederson.
Arsenal remained the better side and Martinelli had two chances to extend their lead, but sent both of his shots wide of Ederson’s left-hand post.
Kevin de Bruyne sent a curling shot just past the frame of the goal but an equaliser would have been harsh on Arsenal.
But City’s penalty was not, for all of the home team’s protests.
Xhaka did try to avoid tripping Bernardo Silva but his tug on the City star’s shirt was plain for all to see on the replays and this time Gillett advised Attwell to think again.
The referee had no choice but to point to the spot and Mahrez sent Ramsdale the wrong way.
Gabriel had already been booked following the scuffles that broke out after Attwell’s decision.
And his crude foul on Gabriel Jesus just two minutes later left his team to play the final half an hour a man down.
Arsenal almost retook the lead when Aymeric Laporte headed over his own goalkeeper - with Nathan Ake clearing off the line and Martinelli hitting the post with the follow-up.
But City were now in control of the game, desperately probing for the winner.
Yet they failed to carve out a clear-cut chance and were reduced mainly to shots from distance.
Villain-in-chief Silva was lucky not to be cautioned for an encounter with ball boy as his own frustration got the better of him.
But then Rodri prodded home to extend City’s winning run to 11 games.
With one or both of Liverpool and Chelsea set to drop points at Stamford Bridge on Sunday, Guardiola’s under-par team should still romp to the title.
READ MORE SUN STORIES
But Arteta and Arsenal have closed the gap between the clubs and can legitimately believe they can rejoin them in the Champions League next season.
And they were left to wonder what might have been if some familiar failings had not cancelled out all the evidence of improvement.
⚽ Read our Transfer News Live blog for the very latest rumours, gossip and done deals