ARSENAL RATINGS: Bernd Leno 6 – Could only watch as Sterling’s header drifted past him when City took the lead, but he saved well to deny Sterling when clean through afterwards. He also saved well from Gundogan in the second half.
Hector Bellerin 5 – Had a poor game. He couldn’t get into the match in an attacking sense, overlooking Pepe’s runs, but he also looked a weak link defensively. Was booked for a lunge on Jesus.
Rob Holding 6 – Was inexcusably outjumped by Sterling for City’s winner, but he played well after that. He made several key blocks and clearances.
Pablo Mari 7 – Preferred to Luiz and Gabriel alongside Holding, he started slowly but recovered to put in an accomplished performance. Good distribution, and kept City quiet after a dicey opening 25 minutes.
Kieran Tierney 7 – The Scot had a torrid time marking Mahrez at the start, but it was Tierney’s forward runs, passing and link-up play with Saka that brought Arsenal back into the game.
Mohamed Elneny 6 – Did his best to curb City’s advances and did well to keep going when it looked like he might be overrun in the opening exchanges. Solid, but not spectacular. Getty
Granit Xhaka 6 - Like Elneny, he had to dig deep after a really difficult start. He kept going though, and was solid enough throughout, though was booked after the break. Getty
Bukayo Saka 7 – Saka looked like he was playing on his own at times. He was Arsenal’s brightest attacking player by some considerable distance and he was always looking to make something happen. AFP
Martin Odegaard 4 – Playing in the No 10 role, he came up against his biggest challenge yet since his move to Arsenal in Fernandinho. He simply couldn’t get into the game. AFP
Nicolas Pepe 5 - Pepe worked hard and actually made some decent runs, but just didn’t get any service from Bellerin behind him.
Pierre-Emerick Aubameyang 4 – Led the line but didn’t see much of the ball, and when he did his touch was poor. AP
SUBSTITUTES: David Luiz (Holding 82) N/A – Didn’t really put a foot wrong when coming on to cover for Holding.
Alexandre Lacazette (Odegaard, 73) – The Frenchman didn’t really have much time to get involved, and like Aubameyang before him was pretty starved of service. AFP
Dani Ceballos (Elneny, 86) N/A – Should probably have started the game, and didn’t have time to make an impact.
Emile Smith-Rowe (Pepe, 73) N/A – Probably didn’t start because looked tired in midweek, but was lively at both ends when he came on.
MANCHESTER CITY RATINGS: Ederson 6 – The City keeper had very little to do other than save comfortably from Kieran Tierney. He had the defence in front of him to thank for a very quiet afternoon.
Joao Cancelo 5 – Always looked to get forward but in doing so he was exposed by Tierney and Saka. In the second half, showed some fancy footwork and came close with a shot with outside of his right boot.
John Stones 8 – Superb again. Didn’t have loads to do but when called upon dealt with everything with calmness and efficiency. Has finally achieved the consistency he’s always needed. AFP
Rueben Dias 7 – Dias and Stones once again formed an impenetrable wall. It was from his cross-field ball that found Mahrez, who in turn crossed for Sterling at the back post for City’s winner.
Oleksandr Zinchenko 7 – Unlike Cancelo, who seemed to only play in one direction, Zinchenko chose when to attack and when to hold. He made a number of timely clearances and looked solid on the left.
Bernardo Silva 7 – His decent recent form continues. He was a calming presence on the ball and kept City moving, keeping the ball even when pressed by Arsenal in the second half.
Fernandinho 7 – Arsenal couldn’t find their rhythm and that was in part due to Fernandinho constantly pressing and trying to win the ball back. He was a solid presence in front of the back four.
Ilkay Gundogan 6 – He had chances either side of the break, his shot in the second half palmed away by Leno. This wasn’t his best game though and he was sometimes wasteful in and around the Arsenal box.
Riyadh Mahrez 7 –Threatened to destroy Arsenal in the first 10-15 minutes, the winger attacking the hapless Tierney. He found Sterling twice with crosses after having cut in from the right. Lost his edge as the game went on.
Kevin De Bruyne 7 – Another player who started well and who seemed to be dominating with ease in the opening half hour. Perhaps not at his swashbuckling best, but he certainly created chances for his teammates early on.
Raheem Sterling 7 – Climbed highest to head home Mahrez’s cross and score the winner, but he could and probably should have scored more. Reuters
SUBSTITUTES: Gabriel Jesus (De Bruyne 63') 6 – Looked good and at led several Arsenal players a merry dance with his quick feet, culminating in a yellow card for Bellerin.