Goals either side of half time from Joel Latibeaudiere and Phil Foden were the catalyst for victory, with Taylor Richards sealing all three points after Volodymyr Yakimets had pulled one back for the visitors.
What happened
Simon Davies’ side grew into the game after a slow start to proceedings at the Academy Stadium.
As always, City were assured in possession and showed a mature patience in their build-up play, but fans were made to wait until the 21st minute until the first real chance.
There were cheers from the stands as Foden exquisitely picked out Benjamin Garre, who rounded the keeper for what he thought was the opening goal, only for the assistant referee to raise his flag for offside.
Daniel Grimshaw – who’s footwork was particularly impressive – was rarely troubled but was reliable when called upon to keep out Valeri Bondar’s header, four minutes later.
From that point City took control and began to create the chances their possession deserved as the Garre and Foden combination again nearly broke the deadlock.
Another cute ball from the England junior found Garre, who’s stinging effort was parried by Vladyslav Vertiei.
The Blues had to wait until the 43rd minute to take the lead, as Latibeaudiere met Foden’s corner with a powerful header that found the top left corner.
Four minutes after the break and City doubled their advantage. Garre’s trickery down the left found Brahim Diaz in the six-yard box and though his effort was kept out, Foden was on hand to stroke home the rebound.
Though the home side looked comfortable it was Shakhtar who scored next as Yakimets’ sweetly struck 20-yard effort found the bottom left corner to reduce the deficit in the 53rd minute.
In complete contrast to the opening quarter, the game then sprung to life.
The lively Rabbi Matondo – whose pace caused the opposition problems throughout – found his way past Viktor Korniienko, but his resulting effort was straight at Vertiei in the Donetsk goal.
The away side might have levelled just after the hour and City were indebted to the reflexes of Grimshaw, who preserved their lead.
A Shakhtar centre found Andriy Kulakov in the six-yard box, but the shot-stopper produced a point blank save to deny the Ukrainians.
City showed maturity to take the sting out the game as they looked to maintain their lead, though a powerful run and shot from Tom Dele-Bashiru nearly brought a third goal.
In the end, it was left to substitute Taylor Richards to seal all three points as he swept home into the bottom corner in the 90th minute to confirm the victory.
Lineup
The manager made two changes to the team that started against Feyenoord in the group stage opener, with Eric Garcia and Dele-Bashiru coming into the side.
There was a difference in formation too, with Davies opting to play three centre-halves, a change from the usual four at the back.
Grimshaw retained his place in goal and he was protected by Garcia, Latibeaudiere and Ed Francis.
Just ahead of them were captain, Jacob Davenport and Matt Smith, who both anchored the midfield.
Diaz spearheaded the attack with Rabbi Matondo, Dele-Bashiru, Foden and Garre playing as a four behind the Spanish forward.
Man of the match
Benjamin Garre - The Argentine was the heart of much of City’s most eye-catching work and troubled the opposition right back constantly with his pace and neat footwork.
Unfortunate not to get on the score sheet himself, but was instrumental in creating the crucial second goal.
What it means
City claimed their second win in Europe this season, to give them six points from a possible six. Following Napoli’s 2-2 with Feyenoord, the result leaves Davies’ charges two points clear at the top of Group F.
The Italians are up next at the Academy Stadium - on Tuesday 17 October - when the young Blues will hope to further extend their lead at the top of the group.