Fernandinho had put City into the lead before Swansea grew into the game and equalised through Bony, but a strong spell from the visiting City side in the second half led to Toure and Kolarov goals that appeared to make the game secure. Bony was able to add a quite magnificent second tally in the dying minutes, but it was too late to be more than a consolation.
City got off to a fine start as they controlled the early stages of the game before taking the lead after fourteen minutes through a corner. Some poor marking from Swansea meant that Fernandinho had plenty of room to get his shot in after the initial delivery was half-cleared, and the Brazilian made no mistake, finding the bottom corner through the crowd.
Swansea tried to put some pressure on their opponents, but although they were able to compete in the midfield battle, they struggled to create any real chances with Lamah and Wayne Routledge guilty of some poor touches. They almost paid the price when City countered well through Jesus Navas, but after he found Edin Dzeko the Bosnian could only fire wide.
Yet as the half drew to a close, Swansea were coming into it more and more. A fine passing move with Routledge and Jonjo Shelvey saw the hosts put the ball in the net, only for it to be ruled out for a very close offside call. Wilfried Bony then came close with a ferocious drive from a loose ball on the edge of the area, and then went one better just before the half-time whistle. The Ivorian collected Angel Rangel's ball to head home from close range, this time gaining the benefit of the linesman's flag after replays showed the goal appeared to be offside.
After the second half, Swansea built on their fine end to the first, and were at times looking the likelier to take the lead. But Yaya Toure intervened, using his strength and skill to forge some space on the edge of the area before powering home a low drive into the bottom corner.
The goal badly deflated the Swans, and City quickly put the game beyond the hosts when Kolarov scored a trademark long-range effort which deceived Gerhard Tremmel by taking a deflection off Jose Canas on its way in. With Javi Garcia already introduced by Manuel Pellegrini, City began to slow the pace of the game down and the hosts struggled to fashion any openings thereafter.
Swansea hadn't looked like mounting a comeback, but did go close twice in quick succession as Hart first saved well from Bony's rasping effort before the England goalkeeper completely missed the ball from the subsequent corner. Lucky for the keeper, Ashley Williams contrived to send his effort wide.
In injury time, Bony managed to find the net again however, firing a brilliant effort from 25 yards after getting away from Fernandinho, but the goal had come too late to offer the home fans any real hope. With City's away form now improved, their return to the top of the table is an ominous one.
Swansea City: Gerhard Tremmel, Angel Rangel, Chico Flores, Ashley Williams, Ben Davies, Jonathan de Guzman, Jose Canas, Wayne Routledge, Jonjo Shelvey (Pozuelo 81'), Pablo Hernandez (Lamah 10'), Wilfried Bony.
Goals: Bony 45+2', 90+1'
Manchester City: Joe Hart, Pablo Zabaleta, Vincent Kompany, Matija Nastasic, Aleksandar Kolarov, Jesus Navas, Fernandinho, Yaya Toure, Samir Nasri (James Milner 69'), Alvaro Negredo (Javi Garcia 59'), Edin Dzeko.
Goals: Fernandinho 14', Toure 58', Kolarov 66'