Match ends, Swansea City 2, Manchester City 4.
- Man City win fifth successive league game
- Toure scores 50th Premier League goal
- Swansea come back from two goals down
- Bony scores on Swansea return
Wilfried Bony scored on his return to Swansea as Manchester City secured a place in the Champions League group stages by winning a thriller.
Yaya Toure opened the scoring for City with a deflected effort, before James Milner slid in a stylish second.
Gylfi Sigurdsson pulled one back just before half-time with a lovely strike, and then Bafetimbi Gomis equalised.
But Toure squeezed a second under Lukasz Fabianski, before substitute Bony rolled in a fourth via the post.
The result ensured a top-three Premier League finish for Manchester City but puts Europa League qualification beyond eighth-placed Swansea.
Garry Monk's side seemed content to soak up pressure and try to hit the visitors on the break in the first half but still created chances.
Gomis, who came off the bench to score the winner at Arsenal last Monday, looked dangerous in his first start for a month, forcing an early save from Joe Hart.
Nathan Dyer was unlucky not to open the scoring after dispossessing Eliaquim Mangala, as Hart flung himself across goal to turn the shot behind for a corner.
Toure proved more clinical as he scored his 50th Premier League goal with a low shot, which deflected off Ashley Williams and past Fabianski at his near post.
Milner doubled their lead as he finished off a swift counter attack with a low finish.
It seemed as if that had knocked the stuffing out of the hosts - but right on half-time, Sigurdsson drove the ball into the corner of the net from the edge of the area to give Swansea hope.
The visitors continued to push forward, with Frank Lampard and Jesus Navas forcing saves from Fabianski, before Gomis drilled the ball past Hart to equalise for the home side.
But Toure's second of the day put Manchester City back in front.
The Ivorian received the ball midway inside the Swansea half, ran towards goal and unleashed a low shot into the corner of the net.
Swansea continued to press for an equaliser and Hart did well to hold a Gomis header.
But Bony - returning to the Liberty Stadium for the first time since his £28m move to City in January - put the result beyond doubt, firing in a shot that found the net after hitting the inside of the post and rolling across into the opposite corner.
Swansea manager Garry Monk:
"I think we've shown quite clearly with the run of form we've been on that we wanted to get into Europe. "We pushed all the way to try to get there and it would have been a great reward for the season we've had.
"But hopefully now we have a chance to recruit properly and try to surpass what we have done this year in the Premier League, although we know it will be tough."
"We didn't quite get a result, but I think we have shown what a strong group we've got and hopefully next season we can be even better."
Manchester City manager Manuel Pellegrini:
"We will analyse the season when it finishes but I think it is important to understand you must play every game with 100 per cent intensity. In the Premier League it is very difficult to win.
"For our team it was always our target to win the title, (until) the moment the mathematics said we couldn't do it.
"Joe is the number one goalkeeper in England and I think he has improved a lot this season. Bringing Willy Caballero was good for him, giving him good competition and also working with the goalkeeping coach.
- 8ShelveySubstituted forBrittonat 78'minutes
- 12DyerSubstituted forBarrowat 73'minutes
- 23G SigurdssonSubstituted forEmnesat 83'minutes
- 5ZabaletaBooked at 61mins
- 42Y TouréSubstituted forBonyat 85'minutes
- 25FernandinhoBooked at 77minsSubstituted forKompanyat 80'minutes
- 7MilnerBooked at 50mins
- 18LampardSubstituted forNavasat 59'minutes
- Mark Clattenburg
- Shots on Target
Second Half ends, Swansea City 2, Manchester City 4.
Goal! Swansea City 2, Manchester City 4. Wilfried Bony (Manchester City) right footed shot from the centre of the box to the bottom right corner. Assisted by David Silva.
Attempt blocked. Marvin Emnes (Swansea City) right footed shot from outside the box is blocked.
Foul by Aleksandar Kolarov (Manchester City).
Modou Barrow (Swansea City) wins a free kick in the attacking half.
Substitution, Manchester City. Wilfried Bony replaces Yaya Touré.
David Silva (Manchester City) wins a free kick in the defensive half.
Foul by Ashley Richards (Swansea City).
Attempt saved. Bafétimbi Gomis (Swansea City) header from the centre of the box is saved in the bottom right corner. Assisted by Jack Cork.
Substitution, Swansea City. Marvin Emnes replaces Gylfi Sigurdsson.
Corner, Swansea City. Conceded by Joe Hart.
Attempt saved. Federico Fernández (Swansea City) header from the centre of the box is saved in the top right corner. Assisted by Gylfi Sigurdsson with a cross.
Corner, Swansea City. Conceded by Aleksandar Kolarov.
Substitution, Manchester City. Vincent Kompany replaces Fernandinho because of an injury.
Corner, Swansea City. Conceded by Martín Demichelis.
Substitution, Swansea City. Leon Britton replaces Jonjo Shelvey.
Delay over. They are ready to continue.
Fernandinho (Manchester City) is shown the yellow card for a bad foul.
Delay in match Modou Barrow (Swansea City) because of an injury.