Manchester City's 27-game unbeaten start to the 2017/18 campaign has come to an end, with goals from Bernard and Ismaily was enough to squeeze a 2-1 victory for Shakhtar Donetsk in their final game of the Champions League group stage.
Pep Guardiola's side never got out of first gear inside the opening 45 minutes but could do little to stop the Ukrainians, Taras Stepanenko tested the waters early on before two goals inside a six-minute period through Bernard and Ismaily gave Shakhtar a comfortable lead going into the break.
Chances proved to be few and far between for a large majority of the second period with chances for Leroy Sané and Gabriel Jesus, Sergio Agüero got one back from the spot in extra-time but wasn't enough to prevent City's run coming to an end.
Jumping out of first gear
Guardiola claimed that he came to Eastern Europe to get the win but the imminent Manchester derby showed in his selection with Phil Foden and Tosin Adarabioyo getting their first starts, City's progress was already secured but with the home side needing a point they were on the front foot from the first whistle.
They had their maiden chance in the eighth minute as Stepanenko did well to twist Danilo into knots inside the area, he looked to square the ball but Fernandinho did well to take control of the situation and squash the danger.
Taking the lead in some style
City never really got going despite Shakhtar testing throughout the opening minutes, and Paulo Fonseca's were rewarded for their persistence as they opened the scoring in some style.
Bernard did well to opt for the fake pass on his left before cutting it onto it's right, Danilo was once again involved as he stood off his man which allowed him to curl a sweet effort beyond Ederson and into the top right-hand corner.
He nearly had a second minutes later as he was played in on the left by Taison, he decided to go with the low effort in hope it would go under Ederson but the Brazilian did well to get down and block.
Doubling up their unexpected lead
Shakhtar didn't want to leave their qualification for the last-16 up to chance as they continued to turn the screw on their English counterparts, and seriously jeopardised City's unbeaten run as they doubled their lead just after the half-hour mark.
Bernard turned provider as he played a great ball over the top into Smaily on the left, Danilo was once again a yard off his man as Ederson look to quash the danger as he came off his line but completely missed the ball as Smaily rolled it into an empty net.
Knocking on the door on the very rare occasion
Though City's passage was already secured Guardiola will have been desperate for his side to maintain their unbeaten record, his words will have been ringing in the player's ears as they came out for the second period but chances proved few and far between.
They nearly had one back 30 seconds after the restart as Sané did very well to connect with Bernardo Silva's cut-back, but the German's effort forced a good dive from Andriy Pyatov to save down to his right.
Their next and best opportunity of the night didn't arrive until ten minutes from the end, the substitute Brahim Díaz showed good pace down the left as he easily got beyond Bohdan Butko. His ball into the centre was almost squeezed in by Jesus, but thwarted as it came back off the post.
The Brazilian striker was at it again five minutes later as he collected a fine ball from his compatriot Danilo, he did well to get a shot away with his back to goal and on a tight angle but it was into the side-netting.
Pulling one back to no avail
As the game entered extra-time City's excellent record looked to be written into history, but were given a glimpse of hope as they pulled one back right at the death.
It was clumsy from Shakhtar as Butko lost focus as he stepped on the foot of Jesus which gave Benoît Bastien no option, Agüero stepped up for the set-piece and made no mistake as he leathered it into the top corner but it was to no avail.