Despite a confident performance from City, it was Swansea who got off to the better start and the Swans had the ball in the back of Claudio Bravo's goal courtesy of Gylfi Sigurdsson but it was disallowed with a foul in the buil-up.
Sergio Aguero gave Guadiola's side the lead and continued his sincillating form with an impressive finish past Lukas Fabianski. Sagna passed to the Argentine who finished through the legs of the Poland international.
Swansea replied very quickly with Fernando Llorente getting his first Premier League goal. Sagna slipped in the area and the ball bounced for the Spaniard who fired a well struck half volley past Bravo.
The sides rightly went in level, but City upped their game in the second half and Aguero got his 11th goal in just six games this season from the penalty spot. Van der Hoorn fouled Kevin De Bruyne and Aguero dinked his penalty down the middle with Fabianski diving to the corner.
Swansea pushed for an equaliser but in doing so, City hit the Swans on the break. Raheem Sterling ran at Kyle Naughton who was the only Swansea defender and side-footed past Fabianski to give City a 3-1 win.