Pep Guardiola’s side fell to only a fourth loss of the season as Stuart Dallas’ scored a 91st minute winner for 10-man Leeds.
The Northern Irishman slid the ball through Ederson’s legs to finish off a quick break which gave the visitors the three points in a game City had dominated.
It was Dallas who opened the scoring against the run of play, with his 18-yard drive going in off the post shortly before Liam Cooper was sent off for a tackle on Gabriel Jesus.
Ferran Torres brought City level with his ninth goal of the campaign, steering Bernardo Silva’s pass into the bottom left corner and it felt like the ascendancy was with Guardiola’s men to go on and win the game.
But the hosts were undone by Ezgjan Alioski’s through ball as Leeds countered in the final minutes and Dallas beat Ederson and seal the victory.
You can watch full-match replays of every City game with a CITY+ subscription.