Eddie Nketiah (On for Jesus 81’) N/A. Flashed one shot across face of goal. Getty
MAN CITY: Ederson 7: Biggest headache in opening half came from manager Pep Guardiola giving the keeper an earful on touchline for reasons unclear. Biggest in second was picking ball out of net after Holding scored. Apart from that, not much to do. AFP
Kyle Walker 8: England right-back focused on his defensive duties here in disciplined performance with his forays forward more restrained than usual. Part of an excellent City performance at the back. AFP
John Stones 8: Fine header just before half-time to put City two up that had initially been disallowed for offside but then given by VAR. AFP
Ruben Dias 8: Absolutely needless booking just before half-time for kicking out at White while on ground. But that was his only aberration as he helped keep Gunners dangermen Martinelli and Jesus very quiet. Reuters
Manuel Akanji 9: Playing on the left to keep eye on Gunners dangerman Saka which he did with aplomb. Immaculate performance from Swiss defender. AFP
Rodri 8: The water-carrier in midfield allowing Grealish, Silva and De Bruyne to rip through Arsenal at will in front of him. Booked late in game. Getty
Ilkay Gundogan 8: Excellent run and ball into box to set-up one of Haaland’s four first-half chances. Provided City’s solid midfield base alongside Rodri. AP
Kevin de Bruyne 9: Surging run and wonderful low strike to open scoring, calm finish to make it 3-0. Only Sergio Aguero and Raheem Sterling have scored more than his 64 Premier League goals for City. Also provided free-kick assist for Stones goal. AP
Bernardo Silva 8: Buzzed around from start, making dangerous runs and faultless with his distribution. Gave old teammate Zinchenko a torrid time. Getty
Jack Grealish 8: Playing with huge amount of confidence at moment and caused England teammate White problems throughout. Involved in a few flashpoints with Arsenal players and booked for clashing with Partey in second half. Reuters
Erling Haaland 9: Supplied the pass for both of De Bruyne’s goals and his link-up play with Belgian ripped Arsenal to shreds. Denied three times by Ramsdale in first half and curled another effort just wide. Denied by keeper again early in second but goal finally arrived in injury-time – his 49th of the season. Getty
SUBS: Julian Alvarez (On for De Bruyne 80’) N/A. Getty
Riyad Mahrez (On for Grealish 87’) N/A. Getty
ARSENAL RATINGS: Aaron Ramsdale 7: De Bruyne's opening goal went in at his near post but was superb strike in his defence. No chance with other goals. Saved four times from Haaland before finally being beaten by the Norwegian late on. AP
Ben White 5: Very good block to deny De Bruyne a second goal in opening half. Narrowly played Stones onside for City’s second. Struggled against Grealish. AFP
Gabriel 4: De Bruyne skipped past Brazilian as if he wasn’t there before scoring first and same thing happened later in half and needed teammate White to come to his rescue. Dreadful game from centre-half who seems lost without William Saliba alongside him. Getty
Rob Holding 5: Out-muscled by Haaland ahead of De Bruyne’s early goal and brushed aside again by Norwegian later in half but Ramsdale came to rescue with save. Unlikely scorer of consolation goal. PA
Oleksandr Zinchenko 4: Up against former club and found old teammate Silva a tough opponent. No opportunity to push forward such was City’s attacking threat from first whistle. Reuters
Thomas Partey 4: Early penalty shout for City when he collided with De Bruyne in box but referee/VAR decided Belgian had committed foul. Curled chance wide from edge of box in 35th minute. Looked a booking waiting to happen and the yellow card duly arrived after break following shove match with Grealish. AP
Granit Xhaka 4: Squared up to Grealish in first half which was more frustration at just how dominant City were. Drilled shot from outside box straight at Ederson just after break which was his last significant contribution before being taken off. Getty
Martin Odegaard 4: Arsenal’s captain and chief playmaker just could not get foothold in the game and City controlled midfield. Gave away possession ahead of City’s third goal. AP
Bukayo Saka 3: One of the Premier League’s players of the season failed to make any impact, like the rest of Arsenal’s attack to be fair. Very well marked by Akanji. Curled free-kick high and wide in 80th minute. AFP
Gabriel Martinelli 3: Another one of Arsenal’s best players this season who disappeared on the big occasion. Barely touched the ball the entire game until being hooked on the hour. AP
Gabriel Jesus 3: He and Martinelli touched the ball fewer than any other players on pitch in opening 45 minutes. Cut a despondent figure at his old ground. Reuters
SUBS: Jorginho (On for Xhaka 60’) 5: Not type of player that is going change a game with penetrating runs or flashes of great skill but solid enough. Reuters
Leandro Trossard (On for Martinelli 60’) 6: Provided a little bit more attacking energy for Gunners. Getty
Emile Smith Rowe (On for Odegaard 78’) N/A. Getty
Reiss Nelson (On for Bukayo Saka 78’) N/A. PA
Eddie Nketiah (On for Jesus 81’) N/A. Flashed one shot across face of goal. Getty
MAN CITY: Ederson 7: Biggest headache in opening half came from manager Pep Guardiola giving the keeper an earful on touchline for reasons unclear. Biggest in second was picking ball out of net after Holding scored. Apart from that, not much to do. AFP
Kyle Walker 8: England right-back focused on his defensive duties here in disciplined performance with his forays forward more restrained than usual. Part of an excellent City performance at the back. AFP
John Stones 8: Fine header just before half-time to put City two up that had initially been disallowed for offside but then given by VAR. AFP
Ruben Dias 8: Absolutely needless booking just before half-time for kicking out at White while on ground. But that was his only aberration as he helped keep Gunners dangermen Martinelli and Jesus very quiet. Reuters
Manuel Akanji 9: Playing on the left to keep eye on Gunners dangerman Saka which he did with aplomb. Immaculate performance from Swiss defender. AFP
Rodri 8: The water-carrier in midfield allowing Grealish, Silva and De Bruyne to rip through Arsenal at will in front of him. Booked late in game. Getty
Ilkay Gundogan 8: Excellent run and ball into box to set-up one of Haaland’s four first-half chances. Provided City’s solid midfield base alongside Rodri. AP
Kevin de Bruyne 9: Surging run and wonderful low strike to open scoring, calm finish to make it 3-0. Only Sergio Aguero and Raheem Sterling have scored more than his 64 Premier League goals for City. Also provided free-kick assist for Stones goal. AP
Bernardo Silva 8: Buzzed around from start, making dangerous runs and faultless with his distribution. Gave old teammate Zinchenko a torrid time. Getty
Jack Grealish 8: Playing with huge amount of confidence at moment and caused England teammate White problems throughout. Involved in a few flashpoints with Arsenal players and booked for clashing with Partey in second half. Reuters
Erling Haaland 9: Supplied the pass for both of De Bruyne’s goals and his link-up play with Belgian ripped Arsenal to shreds. Denied three times by Ramsdale in first half and curled another effort just wide. Denied by keeper again early in second but goal finally arrived in injury-time – his 49th of the season. Getty
SUBS: Julian Alvarez (On for De Bruyne 80’) N/A. Getty
Riyad Mahrez (On for Grealish 87’) N/A. Getty
ARSENAL RATINGS: Aaron Ramsdale 7: De Bruyne's opening goal went in at his near post but was superb strike in his defence. No chance with other goals. Saved four times from Haaland before finally being beaten by the Norwegian late on. AP
Ben White 5: Very good block to deny De Bruyne a second goal in opening half. Narrowly played Stones onside for City’s second. Struggled against Grealish. AFP
Gabriel 4: De Bruyne skipped past Brazilian as if he wasn’t there before scoring first and same thing happened later in half and needed teammate White to come to his rescue. Dreadful game from centre-half who seems lost without William Saliba alongside him. Getty
Rob Holding 5: Out-muscled by Haaland ahead of De Bruyne’s early goal and brushed aside again by Norwegian later in half but Ramsdale came to rescue with save. Unlikely scorer of consolation goal. PA
Oleksandr Zinchenko 4: Up against former club and found old teammate Silva a tough opponent. No opportunity to push forward such was City’s attacking threat from first whistle. Reuters
Thomas Partey 4: Early penalty shout for City when he collided with De Bruyne in box but referee/VAR decided Belgian had committed foul. Curled chance wide from edge of box in 35th minute. Looked a booking waiting to happen and the yellow card duly arrived after break following shove match with Grealish. AP
Granit Xhaka 4: Squared up to Grealish in first half which was more frustration at just how dominant City were. Drilled shot from outside box straight at Ederson just after break which was his last significant contribution before being taken off. Getty
Martin Odegaard 4: Arsenal’s captain and chief playmaker just could not get foothold in the game and City controlled midfield. Gave away possession ahead of City’s third goal. AP
Bukayo Saka 3: One of the Premier League’s players of the season failed to make any impact, like the rest of Arsenal’s attack to be fair. Very well marked by Akanji. Curled free-kick high and wide in 80th minute. AFP
Gabriel Martinelli 3: Another one of Arsenal’s best players this season who disappeared on the big occasion. Barely touched the ball the entire game until being hooked on the hour. AP
Gabriel Jesus 3: He and Martinelli touched the ball fewer than any other players on pitch in opening 45 minutes. Cut a despondent figure at his old ground. Reuters
SUBS: Jorginho (On for Xhaka 60’) 5: Not type of player that is going change a game with penetrating runs or flashes of great skill but solid enough. Reuters
Leandro Trossard (On for Martinelli 60’) 6: Provided a little bit more attacking energy for Gunners. Getty
Emile Smith Rowe (On for Odegaard 78’) N/A. Getty
Reiss Nelson (On for Bukayo Saka 78’) N/A. PA
Eddie Nketiah (On for Jesus 81’) N/A. Flashed one shot across face of goal. Getty