After bossing the first half against the struggling Welsh side and leading through Jesus’ early goal, the Blues were pegged back nine minutes from time and looked to have dropped two crucial points.
But deep into injury time, Jesus headed David Silva’s cross towards goal and was first to react when Fabianski’ s save, poking home the loose ball and sending the Etihad wild.
It wasn’t as convincing win as it perhaps might have been, but it was a welcome victory all the same.
Pre-match:
Fernandinho and Gael Clichy were recalled at the expense of Bacary Sagna and Nicolas Otamendi as Pep Guardiola made two changes from the side beat West Ham so impressively in midweek.
Vincent Kompany, Claudio Bravo and Sergio Aguero remained on the bench while Willy Caballero kept his place in goal.
Starting XI: Caballero, Clichy, Kolarov, Stones. Fernandinho, Yaya Toure, Sane, Sterling, Silva (c), De Bruyne, G Jesus
Subs: Bravo, Kompany, Zabaleta, Fernando, Navas, Aguero, Delph
What happened?
City started as they meant to go on, dominating possession and pinning Swansea back into the final third.
Within a few minutes the visitors must have felt like a punch-drunk boxer as they battled to contain the Blues who were knocking the ball around with such fluidity and it felt inevitable their resistance would buckle before long.
After 11 minutes, it did.
Silva, gliding around the pitch with effortless grace picked up the ball on the left of the Swansea box, spun around his marker before passing to Raheem Sterling who diverted the ball into the patch of Gabriel Jesus who made no mistake from close range.
The pattern continued after the goal with City creating chance after chance and the Swans offering little in return.
Yaya Toure’s 20-yard free-kick produced an excellent save from Lukasz Fabianski on 27 minutes and Jesus went close with a cheeky back flick minutes later as the Blues looked to put clear daylight between the two teams.
But Swansea clung on and moments before the break were fortunate not to concede a penalty when Sterling picked up a long pass that saw him draw contact from Fabianski as he moved past the Swans keeper – only to be harshly booked by referee Mike Dean.
That was the least meaningful action of a half that was embarrassingly one-sided – but at 1-0 the Swans were still very much in the game.
The second-half started with Swansea putting into action the second part of their masterplan – if the first had been to just survive, it had been a risky one, but one that had so far just about worked.
Within five minutes of the restart they had offered more threat than they had during the entire opening period and Gylfi Sigurdsson forced a good save from Caballero on 49 minutes as the City keeper scrambled a 20-yard free-kick on to the post.
Leroy Sane responded with a low cross that also struck the foot of the post but Swansea were suddenly pressing high and threatening an equaliser.
Alfie Mawson came close on 62 minutes as he arrived unmarked from a Sigurdsson corner but he headed wide with the goal at his mercy.
The warning signs had been well and truly posted and the Blues were at risk of paying the price of not taking their chances - and eventually, the hosts were punished.
With just nine minutes remaining, the Swans finally levelled as Sigurdsson worked himself a yard of space 20 yards out before rifling a low drive past Caballero.
It was painful, but not the first time it had happened this season and it seemed as though the Welsh side had got their tactics spot-on.
There was still time, however, and urged on by more than 54,000 fans, Guardiola sent on Aguero for the final few moments.
In a feverish finale, City kept plugging away in hope until, with 91 minutes on the clock, Silva produced a superb cross from the right that Jesus headed powerfully towards goal and though Fabianski saved it, he couldn’t stop the Brazilian prodding home the loose ball for the most dramatic of winners.
Key moment
It was a tough call for the officials but Sterling could and maybe should have had a penalty towards the end of the first-half. It wasn’t clear cut by any means, but there was contact and he was unlucky – yet again – to be penalised for a supposed dive and booked. Ultimately, it didn’t cost the Blues two points, but it came mightily close!
Star man
Gabriel Jesus won the City Matchday App vote after another impressive, high energy performance, capped with two predatory goals.
Honourable mentions go to Silva and Yaya Toure, too with both barely putting a foot wrong during the game.
What it means
City move back up to third position for the first time since the start of the year. The gap to leaders Chelsea remains 10 points.
Spurs remain a point ahead of the Blues in second, but Guardiola’s men are now two points ahead of Arsenal and three ahead of Liverpool.
What next?
City travel to the south coast next Monday evening to play Eddie Howe’s Bournemouth at the Vitality Stadium.
The Cherries won’t relish welcoming City having conceded 13 goals in three Premier League meetings with the Blues – plus going into the game on the back of a 6-3 loss to Everton.
But Bournemouth beat Liverpool 3-2 and were 3-0 up against Arsenal recently – though the latter ended in a 3-3 draw. On that basis, there should be goals in this game!
Stats and milestones…
City remain unbeaten at home to Swansea with the Welsh side now 68 years without a win in the blue half of Manchester.
This was only the Blues’ third win in 13 Sunday Premier League games.
City have beaten the Swans 11 times in a row at home
Only two other Brazilians have scored on their first Premier League starts - and they both played for City - Robinho and Geovanni
Man City v Swansea Tunnel Cam