Match ends, Manchester City 2, Swansea City 1.
Gabriel Jesus scored twice as Manchester City moved up to third in the Premier League by overcoming a battling Swansea City in injury time at Etihad Stadium.
Jesus had an immediate impact in front of his home crowd, using his natural pace to dart forward and put his side in front with a tap past Lukasz Fabianski.
The hosts dominated the first half, but the visitors had the better of the second half, taking advantage of Manchester City's lack of intensity as Gylfi Sigurdsson picked up Luciano Narsingh's cross and steered the ball beyond a diving Willy Caballero.
However, the goal spurred the home side on. They picked up the pace again and Jesus was on hand to slide home a winner after his header was parried by Fabianski.
Guardiola tinkers, with mixed results
Pep Guardiola has made 80 changes to his starting line-up this season, 15 more than any other Premier League manager, and he opted to keep Jesus up front in place of Sergio Aguero.
For all Swansea's recent improvement, they could not match City's pace in the first half. The hosts swamped Swansea's defence and created space, passing with a fluency that has not always been evident this season.
Jesus, City's £27m Brazilian signing, showed little sign of fatigue as he made his third appearance in seven days. He was on the move from the opening minutes of the game, his first shot flying over the bar, and his quick movement allowed him to tap the ball beyond Fabianski.
The challenge for Guardiola's side now is to maintain that level of intensity. When it dipped, City looked vulnerable in defence and their slick passing was lost as Swansea pressed forward.
It showed why they have not kept a clean sheet at home in the Premier League since their 1-0 win over Watford in December.
The frenetic final few minutes, which saw the hosts finally react after going a goal behind, forced them to up the pace back to their original level.
But those dips in concentration are a worrying sign for Guardiola.
Swans' second-half burst shows growing confidence
After initially winning just three of their first 19 top-flight games this season, the Swans arrived at Etihad Stadium having won three of their last four games, and with an increased confidence under new manager Paul Clement.
They were overwhelmed by the home side for the first 45 minutes but Clement's consistency with his squad, starting the game with an unchanged side for the third time before boosting them with shrewd substitutions in the second half, turned the tables for Swansea.
At one point, goalkeeper Lukasz Fabianski had made more passes than any other Swansea player, and they did not have a single shot in the first half. But when Swansea pressed forward, it was Guardiola's side who were forced onto the back foot.
Swansea found a fluency with their passing and defender Alfie Mawson, who worked hard in the first half to deny the home side, picked up the pace to twice outfox City's defence. The equaliser felt inevitable, with Sigurdsson moving his feet well to pick up Narsingh's cross.
If Swansea could have found an extra gear in the closing minutes they might have been able to hold on and secure a point. However, Manchester City's final burst of pace, and the scramble in front of the goal that led to Jesus' winner, showed that the visitors still have some work to do in defence.
Man of the match - Gabriel Jesus (Manchester City)
What the managers said
Manchester City manager Pep Guardiola, speaking to BBC Sport: "It is the first time we have won a game in the last minute. The first half and second half were much different. They were better.
"Always when you go 1-0 you don't know whether to attack or wait back. At the end we won and that is important.
"Many times this season in last minute we have conceded. It was similar here and we were lucky here that Swansea scored before the last minute and we had time to recover."
"Gabriel Jesus is strong, fast and has really good movement. He has arrived really, really, well. He is Gabriel Jesus. We are happy to have him."
Swansea manager Paul Clement speaking to BBC Sport: "We deserved more. Not in the first half, we didn't play well. We were nowhere near our potential. They are a good side. We were organised and in shape but one against one we were not aggressive enough.
"The players responded very well in the second half and were the better team. We got the equaliser and at that point you think we can see the game out for a valuable point.
"The circumstances of the goal we are disappointed about. I am very proud of the players. If we can build on that we will have some more wins not far away."
Man City's winning run against Swansea - match stats
- Gabriel Jesus became just the third Brazilian to score on his first two Premier League starts, with the other two also playing for Manchester City (Geovanni and Robinho).
- He's also the first player since Stevan Jovetic to score two goals on his first home Premier League start for Man City.
- Man City have now won 11 home league games in a row against Swansea - they've only had a longer such run against a side twice in their history (13 v Wolves, 12 v Grimsby).
- Man City's winner was the 12th scored in the 90th minute this season - just one fewer than in the whole of 2015-16.
- Indeed, Swansea have conceded a 90th minute winner in their last two trips to the Etihad, with Kelechi Iheanacho scoring at the death last season.
- Since his Premier League debut in January 2012, only Yaya Toure (16) has scored more goals from outside the box than Gylfi Sigurdsson (13).
- Sigurdsson has scored eight Premier League goals this season - his second best return in the competition (11 in 2015-16).
- Jesus' goal, and his shot immediately before the goal, were Man City's only two shots on target in the second half.
Manchester City travel to Bournemouth on Monday, 13 February (20:00 GMT), while Swansea host champions Leicester on Sunday, 12 February (16:00 GMT).
- 17De BruyneBooked at 42minsSubstituted forZabaletaat 78'minutes
- 42Y Touré
- 21SilvaSubstituted forRegesat 90+5'minutes
- 7SterlingBooked at 44minsSubstituted forAgüeroat 83'minutes
- 33Gabriel Jesus
- 24CorkBooked at 75mins
- 42CarrollSubstituted forDyerat 75'minutes
- 15RoutledgeSubstituted forNarsinghat 65'minutes
- 9LlorenteBooked at 60minsSubstituted forBastónat 83'minutes
- 23G SigurdssonBooked at 90mins
- Mike Dean
- Shots on Target
Second Half ends, Manchester City 2, Swansea City 1.
Attempt missed. Sergio Agüero (Manchester City) header from the centre of the box is just a bit too high. Assisted by Yaya Touré.
Substitution, Manchester City. Fernando replaces David Silva.
Foul by Sergio Agüero (Manchester City).
Jack Cork (Swansea City) wins a free kick in the defensive half.
Gylfi Sigurdsson (Swansea City) is shown the yellow card.
Goal! Manchester City 2, Swansea City 1. Gabriel Jesus (Manchester City) right footed shot from very close range to the bottom right corner.
Attempt saved. Gabriel Jesus (Manchester City) header from the centre of the box is saved in the centre of the goal. Assisted by David Silva with a cross.
Aleksandar Kolarov (Manchester City) wins a free kick in the defensive half.
Foul by Luciano Narsingh (Swansea City).
Attempt blocked. Sergio Agüero (Manchester City) right footed shot from the centre of the box is blocked. Assisted by Gabriel Jesus.
Offside, Manchester City. Fernandinho tries a through ball, but Gabriel Jesus is caught offside.
Sergio Agüero (Manchester City) wins a free kick in the defensive half.
Foul by Luciano Narsingh (Swansea City).
Substitution, Manchester City. Sergio Agüero replaces Raheem Sterling.
Substitution, Swansea City. Borja Bastón replaces Fernando Llorente.
Goal! Manchester City 1, Swansea City 1. Gylfi Sigurdsson (Swansea City) left footed shot from outside the box to the bottom right corner. Assisted by Luciano Narsingh.
Foul by Pablo Zabaleta (Manchester City).
Martin Olsson (Swansea City) wins a free kick in the defensive half.