Manchester City maintained their 100% record in Group F although they were made to work for their 2-0 win over Shakhtar Donetsk at the Etihad Stadium on Tuesday.
- Manchester City 2 Shakhtar Donetsk 0
- De Bruyne, Sane miss first-half chances
- Ederson denies Marlos the opener
- De Bruyne opens scoring after restart
- Pyatov saves Aguero penalty
- Sterling seals win at the death
Pep Guardiola's side were pushed all the way in the first half and went into the break still deadlocked at 0-0, but they opened the scoring early in the second half and wasted numerous chances before grabbing a late second goal to make it two wins from two in the UEFA Champions League group stages.
The hosts made a bright start and David Silva squandered a good chance early on when he took a heavy touch inside the box, which allowed the defender to make an important block.
Kevin De Bruyne showed good vision to release Sergio Aguero on eight minutes with a ball from the right flank, but the Argentine striker's shot from inside the box went straight to Andriy Pyatov.
The champions of Ukraine were far from over-awed, though, and they grew into the game, with Fred denied by a superb last-ditch tackle from Fernandinho in the 12th minute after breaking through on goal.
Ismaily was causing Kyle Walker all sorts of problems down the left wing, although City managed to contain the danger, and they should have broken the deadlock on the half-hour mark when Gabriel Jesus won back possession and played in De Bruyne on the left, but the Belgian's shot from 14 yards out went inches wide of the near post.
Ederson was called into action for the first time two minutes later with a fine one-handed save to deny Marlos from the edge of the area, while Leroy Sane tested Pyatov from a similar position at the other end soon afterwards having cut onto his left foot from the right.
Ivan Ordets managed to sneak in between two defenders from a free-kick on the right to head wide of the near post on 40 minutes, before Sane surged into the box from the left moments later and flashed a shot narrowly wide of the far post.
The Miners gave as good as they got in the first half, but City took the lead just three minutes into the second half as Silva picked out De Bruyne in space and the midfielder fired home from 20 yards out, giving Pyatov no chance.
Pyatov then pulled off a sharp save to deny Aguero from six yards out in the 56th minute after he connected with Silva's fine ball over the top, and substitute Raheem Sterling somehow missed the target from just six yards out after getting on the end of De Bruyne's low cross from the right on 69 minutes.
The Citizens were awarded a soft penalty three minutes later as Sane went down with marginal contact from Ordets, but justice was done when Pyatov saved Aguero's spot-kick.
A rare opportunity for the visitors on 77 minutes saw Ederson make a comfortable save from Taison's long-range strike which took a touch off a defender, before Aguero curled an effort just wide of the right post from 20 yards out a minute later.
Sane fizzed a shot wide of the right post from just inside the area on the left in the 86th minute, but Sterling sealed the win in the final minute when he released Ilkay Gundogan on the right and ran onto the German's low cross to fire in off the crossbar from 12 yards out.