Cole Palmer (Haaland, 64') - 7. Superbly taken goal after he came on. PA
ARSENAL RATINGS: Aaron Ramsdale - 8. Made a couple of great saves from John Stones and Phil Foden to keep his side in the contest. Saved Rodri's penalty in the shoot-out. AFP
Ben White - 7. Edged his contest with England teammate Jack Grealish. Creative going forward. Getty
William Saliba - 7. Managed to keep Haaland under wraps before the Norwegian was subbed. Will play a key role this season. Getty
Gabriel - 7. Linked up well with Saliba to help keep both Haaland and Alvarez fairly quiet. Reuters
Jurrien Timber - 7. Good block to deny Cole Palmer. A solid debut for his new club. Reuters
Martin Odegaard -7. Some assured touches but was unable to really hurt City with his creative play. Good penalty to get the shoot-out rolling. AP
Thomas Partey - 6. Put in a decent shift. Ended up with his head bandaged after a clash with Walker. AFP
Declan Rice - 7. Grew into things as the game went on. His stamina will be a big asset for his new club. AFP
Bukayo Saka - 7. Shot just wide in the first half. A lively display. Buried his penalty. EPA
Kai Havertz - 6. Missed a couple of good chances. AP
Gabriel Martinelli - 6. Held the ball up well at times. Grew into the match before he was subbed. AP
SUBSTITUTES: Leandro Trossard (Martinelli, 75') - 6. His twice-deflected shot kept his side in the contest. Lucky, but it did the trick. Getty
Kieran Tierney (Timber 76') - 5. Let Cole Palmer in for City's goal. AFP
MANCHESTER CITY RATINGS: Stefan Ortega - 7. Made a couple of good first-half saves to deny Havertz. His distribution was a bit dodgy. AP
Kyle Walker - 6. Skippered the team and turned in a committed performance. Getty
John Stones - 7. Great block to deny Martinelli. Positive on the ball. PA
Ruben Dias - 6. Defended solidly with his trademark composure. AP
Manuel Akanji - 6. Linked up well with Jack Grealish on the left-hand side. Found Saka a handful at times. PA
Rodri - 6. Couple of decent chances but a little sloppy at times. PA
Mateo Kovacic - 8. An impressive performance in protecting the back four and spraying some nice passes. Getty
Bernardo Silva - 6. Put in some mileage but a bit unambitious. PA
Julian Alvarez - 6. A few nice touches but maybe not enough to cement a starting place. AP
Jack Grealish - 5. A quiet game. Off after 57 minutes. AFP
Erling Haaland - 5. Understandably, not back up to full speed. Hauled off in the 64th minute. EPA
SUBSTITUTES: Phil Foden (Grealish, 57') - 7. Played a part in City's goal and almost grabbed one himself. EPA
Kevin De Bruyne (Kovacic, 64') - 7. Had a real impact when he entered the fray. Hit the bar with his penalty, though. Reuters
Cole Palmer (Haaland, 64') - 7. Superbly taken goal after he came on. PA
ARSENAL RATINGS: Aaron Ramsdale - 8. Made a couple of great saves from John Stones and Phil Foden to keep his side in the contest. Saved Rodri's penalty in the shoot-out. AFP
Ben White - 7. Edged his contest with England teammate Jack Grealish. Creative going forward. Getty
William Saliba - 7. Managed to keep Haaland under wraps before the Norwegian was subbed. Will play a key role this season. Getty
Gabriel - 7. Linked up well with Saliba to help keep both Haaland and Alvarez fairly quiet. Reuters
Jurrien Timber - 7. Good block to deny Cole Palmer. A solid debut for his new club. Reuters
Martin Odegaard -7. Some assured touches but was unable to really hurt City with his creative play. Good penalty to get the shoot-out rolling. AP
Thomas Partey - 6. Put in a decent shift. Ended up with his head bandaged after a clash with Walker. AFP
Declan Rice - 7. Grew into things as the game went on. His stamina will be a big asset for his new club. AFP
Bukayo Saka - 7. Shot just wide in the first half. A lively display. Buried his penalty. EPA
Kai Havertz - 6. Missed a couple of good chances. AP
Gabriel Martinelli - 6. Held the ball up well at times. Grew into the match before he was subbed. AP
SUBSTITUTES: Leandro Trossard (Martinelli, 75') - 6. His twice-deflected shot kept his side in the contest. Lucky, but it did the trick. Getty
Kieran Tierney (Timber 76') - 5. Let Cole Palmer in for City's goal. AFP