Ortega: A shock pick but was in the right place to keep out the underwhelming efforts that came his way. 7
Cancelo: City's plan was to exploit the space behind Adeyemi, but Cancelo making so many wrong decisions saw them frequently undermined at the back. 3
Stones: Struggled with Dortmund's offensive line but enjoyed pushing forward in the second half. 6
READ MORE: Borussia Dortmund vs Man City goal and score updates
Dias: A return to form for Dias, who was City's best line of defence in the first half when they were under siege. 7
Ake: Dortmund had all kinds of joy down their right flank with Ake and Cancelo. Improved performance from left-back. 5
Rodri: Uncharacteristic mistakes in midfield before he settled into the rhythm of the game. 5
Gundogan: Partnering Rodri before pushing forward and was more reliable in both positions. 6
Foden: Made some poor choices in attack but was also involved in some of City's most promising plays. 6
Mahrez: You can't miss penalties like that. There hadn't been much offered to that point and another miss can't do his chances of more game time much good. 4
Alvarez: Anonymous for much of the game, although did force a smart save from the Dortmund keeper. 5
Haaland: Received the ball in a couple of promising positions but disappointed whenever he got a sniff of goal and hooked at half-time. 5
Substitutes
Bernardo (for Haaland, 46) Instantly injected life into City and helped win them the penalty. 8
Akanji (for Cancelo, 46) Shored up a defence that had been wild with Cancelo and Ake on the left. 7
Grealish (for Foden, 81): Will wonder what he has to do to play ahead of Mahrez. 6
Palmer (for Mahrez, 88)
Not used: Ederson, Carson, Laporte, Lewis, Wilson-Esbrand, De Bruyne
READ MORE: