Ilkay Gndogan opened the scoring for Manchester City in the second half but Manor Solomon equalised and Shakhtar Donetsk claimed a creditable 1-1 draw
Manchester City are through to the last 16 as group winners despite another of the stuttering displays that have been a feature of their season.
Pep Guardiolas side were never at ease against a technically bright Shakhtar, though progression with a game to spare is impressive and the manager will worry about form in the competition when the knockout-round starts in the spring.
We qualify and we played well in the second half, Guardiola said. The second half was better than the first. We conceded only a few counter-attacks. For now we have one competition already done, and our focus will be the Premier League, until we arrive [later] in the cups.
As expected Gabriel Jesus began at centre-forward, one of five changes made by Guardiola from Saturday, as his team took on opponents beaten 6-0 in the corresponding fixture of last years group stage. City have been shaky recently as the long-term injury loss of Aymeric Laporte affects a defence that is their weakest area. Yet a sign of the Catalans confidence could be found with Riyad Mahrez, often Citys x-factor this season, starting on the bench.
After a low-key start they began probing via Bernardo Silva and Rodri along the right. This was the wing from where Kevin De Bruyne fired a low cross towards Jesus and when the ball arrived at Ilkay Gndogan he should have scored.
Now came a rarity: an Ederson howler. The goalkeeper rushed out and missed a clearance and Tet ran clear. The shot, from an angle down the right, was heading in before Fernandinho cleared, the Brazilian saving his compatriots blushes.
When a similar ball was hit seconds later this time Fernandinho had been sucked in and Viktor Kovalenkos pass beat the defence. Again Tet was the target, this time Ederson hoofed clear.
The passage pointed to the problems City have at the back. Their visitors sensed this and were pinging the ball into each other and around the sky-blue shirts impressively. When Rodri strode forward and tested Andriy Pyatov from distance this was Citys first effort on target, 25 minutes in. Guardiolas men were just not dominating the ball, as happened against Chelsea here in Saturdays win.
Better was a fluid move that started with Silva near halfway and ended with Joo Cancelo on the ball inside the Shakhtar area. His delivery, though, disappointed. So, too, the lack of marking when Ukraines champions roved forward moments later. This meant that Alan Patrick had yards of space in front of Ederson to take aim but the midfielder lacked composure and blasted over.
The game had as open a feel as the Chelsea one. The end-to-end stuff next featured a City corner that went to Gndogan, then Angelio. The left-back swung the ball in and found Nicols Otamendis head but Pyatov was not beaten.
Lacking from City through this opening period were the verve and vibrancy that have allowed them to dominate domestically over the past two seasons.
De Bruynes display was illustrative. There were flashes of his class but no decisive contribution. Even when dribbling into the area, as half-time neared, the Belgian contrived to trip over his feet.
With the game goalless City were heading for the point required for qualification. The Guardiola way is to go for victory, of course. And his sides first act of the second half featured Raheem Sterling standing the ball up but Jesuss header lacked the requisite power.
There was more urgency, though. De Bruyne whipped in a cross and claimed a corner. He took this quickly as Silva then did another from the opposite side. The pressure told. Finally City had the breakthrough. Jesus, despite being surrounded near the penalty spot, was picked out by De Bruyne. The Brazilian somehow swivelled and passed to Gndogan and he made no mistake.
City were cruising towards top spot but this was not yet comfortable. Luis Castros move was to swap Yevhen Konoplyanka for Manor Solomon and an instant dividend arrived. The Israeli had been on four minutes when ghosting to the far post and finishing Dods cross, Citys rearguard again missing in action.
For the last game, at Dinamo Zagreb, Guardiola can afford to make changes. Ill take a look, he said. We have enough players.