Manchester City wasted the chance of becoming the first English side to ever beat Shakhtar Donetsk in Ukraine, with the Miners’ Brazilian core proving too much for Pep Guardiola’s side to contain.
Although one eye was firmly being kept with Sunday’s Manchester derby, City were left disappointed after suffering their first defeat of the season.
Despite missing an early opportunity, Shakhtar deservedly took the lead just before the half-hour mark.
An overlapping run from Ismaily opened up half a yard of space for 25-year-old Bernard, who curled a shot into the top corner of Ederson's goal from an improbable angle to peg Guardiola's side back.
The hosts then had the ball in the back of the net just five minutes later through their impressive left-back Ismaily.
Marlos sent a stunning through ball towards the Brazilian defender and after Ederson was left in no man's land when coming out to close down the full-back, Ismaily stroked the ball into the back of the net to double Shakhtar's lead going into half-time.
Leroy Sané had a chance to pull one back just 30 seconds after the restart, but his right-footed volley was well saved by veteran goalkeeper Andriy Pyatov.
Pep Guardiola introduced Sergio Agüero and Brahim Díaz in the second half, with hopes that more attacking threat could get City back into the game. However, the Citizens were struggling to create clear-cut chances and continued to offer Shakhtar opportunities on the break.
City were awarded the opportunity to pull on goal back in added time after Gabriel Jesus was brought down in the penalty area. Agüero assumed responsibility for the spot-kick and sent the ball flying into the top corner.
Despite offering a small chance of an outstanding comeback, City were unable to rescue a point in Ukraine and their long unbeaten run, that has lasted since the FA Cup semi-final last season, ended.