City were leading 1-0 through David Silva in the Group F encounter at the Etihad Stadium when Raheem Sterling stubbed his toe and fell over to earn a freak spot-kick which Jesus converted.
Shakhtar had a right to feel aggrieved but they were otherwise outplayed for a second time in two weeks by City, who made victory certain through Sterling, Riyad Mahrez and two more Jesus strikes.
It was a performance that suggested whatever negativity might surround City following a series of allegations about their financial affairs in recent days, none of it is affecting Pep Guardiola or his players.
The result also ensured they will go into Sunday’s derby against Manchester United in good heart, with the bonus of having rested the likes of Sergio Aguero, Leroy Sane, Benjamin Mendy and Vincent Kompany.
Good evening and welcome to The Independent's live coverage of tonight's Champions League action.
Our main focus will be on Manchester United's trip to Turin to face Juventus, while we will also have updates on Manchester City's home game against Shakhtar Donetsk.
Pep Guardiola also makes two changes: Riyad Mahrez is selected ahead of Leroy Sane, while Oleksandr Zinchenko comes in at left-back to face the club where he played most of his youth football.
While many see this as a crucial game for his side, Jose Mourinho has done his best to downplay the importance of tonight's fixture, while also giving an update on the absent Romelu Lukaku, who is doubtful for the Manchester Derby on Sunday:
The action of note from the early fixtures came from Valencia. The Spanish side beat Young Boys 3-1 and leapfrogged above Manchester United in Group H.
The corner is cut out and Manchester United look to break.
Jesse Lingard tries to find Anthony Martial when a pass to Ander Herrera breaking free on the right might have been a preferable option, and the attack breaks down.