Manchester City edged past a resilient Shakhtar Donetsk side thanks to a spectacular strike from Kevin De Bruyne, followed by a late goal from Raheem Sterling in their second Champions League game of the season.
The Citizens might have won the game by a greater margin had Sergio Aguero converted a second-half penalty earned by Leroy Sane.
Both teams started the contest at the Etihad slowly, but eventually the home side created chances and put the Ukrainian club under pressure. The Donetsk keeper Andriy Pyatov made a number of good saves in the opening half and played a major hand in his side going into the break level.
However, within three minutes of the second-half City were ahead, David Silva played a ball into the path of De Bruyne and the Belgian playmaker curled a fantastic effort into the top corner of the net.
Manchester City then had a fantastic opportunity to double their lead, the Citizens were awarded a penalty following a tackle on Leroy Sane. Sergio Aguero stepped up to take it but Andriy Pyatov correctly guessed which way the Argentine was going and saved the spot-kick.
In the final minute of the game, City got the second goal that their performance deserved. Bernardo Silva centred the ball for Raheem Sterling who swept the ball into the back of the net from close range.
Following their victory over Feyenoord in their opening Champions League game and now the win over Donetsk, this is the first time in Manchester City's history that they have won their opening two Champions League games.