Manchester City Player Ratings
Ederson Moraes - 6/10
Manchester City shot-stopper Ederson could have done more to stop Bellingham's shot and was able to get only a palm to the ball. The Brazilian was a mere bystander in the second half as his side dominated possession against Borussia Dortmund.
Ruben Dias - 7/10
Ruben Dias did well against Marco Reus and Erling Haaland and was one of Manchester City's better defenders on the night. The Portuguese centre-back put in a composed performance and remains one of his side's most important players.
John Stones - 6/10
John Stones was well below his best against Borussia Dortmund and was largely at fault for the Germans' first-half goal. The English defender learnt his lessons and was able to keep Haaland's movements in check in the second half.
Kyle Walker - 6/10
Kyle Walker was a robust presence in his own half and was disciplined with his movement and passing. The pacy full-back offered very little in the final third, however, and will have to work on his final product.
Oleksandr Zinchenko - 6/10
Oleksandr Zinchenko misplaced a few passes in the first half but held his own against Borussia Dortmund. The Manchester City full-back did manage a few crosses after half-time and troubled Marwin Hitz with his efforts.
Rodri - 6.5/10
Rodri was Manchester City's midfield orchestrator and was the driving force behind their positional dominance against Borussia Dortmund. The Spaniard did not put a foot wrong with his passing and had a positive outing.
Ilkay Gundogan - 7/10
Ilkay Gundogan's resurgence under Pep Guardiola this season continues to reach new heights and the German midfielder was at his imperious best against his former team on the night.
Kevin De Bruyne - 8/10
Kevin De Bruyne was Manchester City's best player in the first half and struck the post with a brilliant effort before the half-hour mark. De Bruyne tormented Borussia Dortmund with his runs and passes throughout the game and was unlucky not to get a goal to show for his efforts.
Bernardo Silva - 6.5/10
Bernardo Silva had a relatively quiet game and was unable to pose a direct threat to Borussia Dortmund's goal. Manchester City's false nine was an important part of the build-up, however, and was rarely dispossessed.
Phil Foden - 7.5/10
Phil Foden scored yet another important goal for Manchester City and stunned Borussia Dortmund with a powerful shot to deflate their optimism. The young prodigy did have his problems against Borussia Dortmund's press but improved towards the end of the game.
Riyad Mahrez - 7.5/10
Riyad Mahrez had a relatively quiet start to the game but his dribbles became more pronounced after Manchester City fell behind in the tie. The Algerian forced a few saves from Marwin Hitz before slotting in a brilliant penalty to hand his side a crucial lead.
Substitutes
Raheem Sterling - 5.5/10
Raheem Sterling was the only substitute used by Pep Guardiola against Borussia Dortmund and replaced Riyad Mahrez in the second half. The English winger fashioned an excellent opportunity for himself but his lack of composure cost him an important goal.