Manchester City
Ederson Not much to do and what he did he did admirably, though will be disappointed by no clean sheet. 7
Kyle Walker Surprise selection, was as sharp as the rest of the rearguard – when needed. One jet-heeled clearance oozed control. 7
John Stones Excellent. Header that beat Ramsdale had him hovering perfectly before going back across the keeper, his ball having earlier initiated move for De Bruyne. 8
Rúben Dias Cool as usual apart from booking for scrape of White’s leg on stroke of half-time. Marshalled defence expertly. 7
Manuel Akanji Buccaneering run that took him all the way into Arsenal’s area was emblematic of City’s aggression and intent. 7
Rodri Always looked to receive, used angles smartly and was up for any feisty stuff: he is rarely ruffled. 7
Ilkay Gündogan Presence ensured City’s rhythm was as smooth as can be – a pipe-and-slippers display of poise. 8
Bernardo Silva Joined the press when he could, fashioned triangles with De Bruyne and Walker, flitted about at will. 7
Kevin De Bruyne Scorching opener, so smart a finish for his second. Also a dinked free-kick that made Stones’s header. 9
Jack Grealish Saw scant early possession but raced back to dispossess Saka and one chip into Haaland that the No 9 should have smashed in. 7
Erling Haaland A menace. Control and pass for De Bruyne’s first was followed by assist for the Belgian’s second. Got his goal at the death. 9
Subs Mahrez (for Gündogan 72) 7, Álvarez (for De Bruyne 80) 7 , Foden (for Grealish 87) 7
Arsenal
Aaron Ramsdale Will be disappointed not to have stopped either De Bruyne goal. Better were several saves off Haaland. Arsenal’s “best” player which says it all 5
Ben White Tremendous block of De Bruyne shot but was unable to get any grip on the latter or the bulldozing Haaland. 4
Rob Holding William Saliba’s stand-in will rue not clattering Haaland to stop him engineering first goal. Gains a mark for scoring. 4
Gabriel Magalhães Lucky not to concede an early penalty on De Bruyne; was made to appear an amateur on occasion. 5
Oleksandr Zinchenko Near-invisible. Grateful an error did not allow Silva to double lead. Part of pummelled defence. 4
Thomas Partey Frustrated alongside Xhaka, he spurned a long-range chance to equalise and could not disrupt City’s supreme midfield. 3
Granit Xhaka A non-factor who illustrated the gulf between sides as he would not be close to being a Pep Guardiola signing. Substituted. 3
Bukayo Saka Starved of quality – his corner at the end of the opening 45 was a rare bit of action for him. 5
Martin Ødegaard Anonymous first half from the captain got worse: after the break he ceded the ball to Haaland for City’s third. 3
Gabriel Martinelli Clumsy in the tackle, this game passed him by. The Brazilian was taken off and cannot complain. 3
Gabriel Jesus His face after first goal summed up his team’s struggles and from there they plunged. 5
Subs Jorginho 5 (for Xhaka, 60), Trossard 5 (for Martinelli, 60), Smith Rowe 5 (for Ødegaard, 71), Nelson 6 (for Saka, 80), Nketiah 6 (for Jesus, 80)