Gabriel Jesus scored a stoppage-time winner as Manchester City snatched a 2-1 victory over Swansea City in the Premier League.
City had looked like they would have to settle for a point after the relegation-threatened Swans recovered from a first-half battering at the Etihad Stadium to equalise through Gylfi Sigurdsson on 81 minutes.
But Pep Guardiola's men stepped up the pressure in the latter stages and Jesus, who had opened the scoring after 11 minutes, claimed his second of the game after Lukasz Fabianski saved his header.
The result lifted City to third in the table and enabled them to breathe a sigh of relief after a performance of near complete dominance before the break.
City had gone into the game with top scorer Sergio Aguero again on the bench and impressive new signing Jesus leading the line. Willy Caballero was also preferred to Claudio Bravo in goal for a second successive league game.
The selection looked good as City's early play was fluid and cutting, lacking only in its potency. The hosts created numerous chances and should have had far more to show for their efforts than a 1-0 lead at the interval.
Jesus went close when he fired off-target early on and was then denied a penalty after tangling with Alfie Mawson.
It came as no surprise when City took the lead after 11 minutes, so much had they bossed the early proceedings.
David Silva weaved down the left and laid the ball back for Raheem Sterling. Martin Olsson met the England man with a challenge but the ball rebounded kindly for Jesus to tuck home his second goal for the club from close range.
City threatened more with Yaya Toure testing Fabianski from a free kick and with another long-range effort. Kevin De Bruyne had a couple of shots blocked and Sterling almost set up another for Jesus.
Sterling was controversially booked before the interval for simulation as he raced onto a crossfield pass and went down as he was met by the advancing Fabianski. Having been denied a clear penalty when he stayed on his feet against Tottenham a fortnight ago, Sterling clearly felt aggrieved.
City were almost made to pay for their profligacy early in the second half as Sigurdsson called Caballero into action for the first time with a superb free kick. The City keeper tipped the effort onto the post.
The Swans had another good chance when Sigurdsson whipped in a dangerous corner but Mawson glanced his header wide.
City began to get frustrated as some of their attacks broke down, and the crowd appeared to get anxious, but they went close again when Aleksandar Kolarov headed wide from a corner.
Silva also looked certain to pull the trigger after being played in by a neat Jesus back-heel but Mawson made a crucial challenge.
But still City were flat in comparison to their earlier high tempo and they were made to pay when Sigurdsson burst forward and drilled a low shot into the bottom corner from outside the area.
City started to show some urgency and sent on Aguero. They wanted a penalty after Leroy Sane crossed from the left and the ball deflected off Silva to strike Sigurdsson, but it did not hit his arm.
City found a way through in injury time when Jesus connected with Silva's cross. Fabianski kept out the header but Jesus pounced on the rebound to settle the contest.