Match ends, Crystal Palace 0, Manchester City 2.
Crystal Palace 0-2 Manchester City
Manchester City beat Crystal Palace to capitalise on Liverpool's defeat by Chelsea and move within three points of the Premier League leaders.
Yaya Toure crossed for Edin Dzeko to head City into an early lead before the Ivorian curled a second from 15 yards.
Jason Puncheon came closest for Palace but his low shot was saved by Joe Hart.
Third-placed City have a game in hand over both Liverpool and second-placed Chelsea as well as a superior goal difference.
To earn the victory that once again placed the destiny of the title in their own hands, Manuel Pellegrini's side were indebted to Toure, who was restored to the team after missing the last two matches with a muscle injury.
The former Barcelona midfielder was allowed too much time on the edge of the area and his clipped cross was met by Dzeko's powerful header for the Bosnian's fifth goal in his last eight games and his 24th of the season.
Palace had won their previous five games, a run that began with a 1-0 victory over Chelsea. The 1-0 defeat of West Ham United in their previous fixture guaranteed Premier League survival for the Eagles.
Tony Pulis has guided Palace to 12 wins in 26 matches since taking over from Ian Holloway in November, but the Eagles never looked like adding to that tally against Pellegrini's title challengers.
City controlled the first half comfortably and Toure had a claim for a penalty turned down by referee Howard Webb after his first-time shot from Sergio Aguero's pass hit Damien Delaney on the arm.
With Javi Garcia anchoring midfield, Toure was free to influence attacks and City's second came through another moment of quality from him.
After swapping passes with Nasri, Toure burst into the penalty area and held off Delaney to curl a left-foot shot beyond Speroni for his 23rd goal of the season.
Hart was forced into his first meaningful save of the match early in the second half. The England goalkeeper dived low to his right to push Puncheon's drive from 20 yards around the post.
Toure curled a shot just over from the edge of the area before making way for substitute Fernandinho with 25 minutes remaining, with Pellegrini seemingly mindful of his side's final three fixtures.
Pulis brought on substitutes Dwight Gayle, Glenn Murray and Tom Ince in search of a goal but City ended the game strongest.
A sharp save from Speroni prevented Dzeko from adding a second as the striker's low shot took a deflection off Scott Dann.
For a gallery of photos from Saturday's Premier League action, head to theBBC Sport Facebook page.
Crystal Palace manager Tony Pulis
"The goal gave them a massive lift, as did the (Liverpool) result before the game. We could have done with our players being a bit more on edge but they've done fantastically well this season.
"We have to prepare ourselves to get ready for Liverpool. The Premier League is the most competitive in the world and, although we're safe, we have a responsibility to the rest of the league to put in a performance."
Manchester City manager Manuel Pellegrini
"It was a happy day. It was very important for us. Before today we were depending on other teams. Now we continue as we were two weeks ago, depending only on what we do.
"It was important to get a good start but also not to let Crystal Palace score. It was a very professional performance. But it's not finished, we have to play three games more. We will see in the future who will be the best."
- 2WardBooked at 71mins
- 6DannBooked at 56mins
- 27DelaneyBooked at 24mins
- 30JeromeSubstituted forMurrayat 69'minutes
- 29ChamakhSubstituted forGayleat 69'minutes
- 7BolasieSubstituted forInceat 73'minutes
- 5ZabaletaBooked at 33mins
- 14Javi García
- 42Y TouréSubstituted forFernandinhoat 66'minutes
- 16AgüeroSubstituted forJoveticat 79'minutes
- 10DzekoSubstituted forNegredoat 88'minutes
- Howard Webb
- Shots on Target
Second Half ends, Crystal Palace 0, Manchester City 2.
Foul by Martín Demichelis (Manchester City).
Dwight Gayle (Crystal Palace) wins a free kick on the right wing.
Stevan Jovetic (Manchester City) wins a free kick in the attacking half.
Foul by Glenn Murray (Crystal Palace).
Offside, Crystal Palace. Jason Puncheon tries a through ball, but Glenn Murray is caught offside.
Substitution, Manchester City. Álvaro Negredo replaces Edin Dzeko.
Attempt blocked. Stevan Jovetic (Manchester City) left footed shot from outside the box is blocked. Assisted by Samir Nasri.
Attempt saved. Edin Dzeko (Manchester City) left footed shot from outside the box is saved in the centre of the goal. Assisted by Fernandinho.
Foul by Vincent Kompany (Manchester City).
Thomas Ince (Crystal Palace) wins a free kick on the left wing.
Substitution, Manchester City. Stevan Jovetic replaces Sergio Agüero.
Corner, Crystal Palace. Conceded by Martín Demichelis.
Foul by Edin Dzeko (Manchester City).
Glenn Murray (Crystal Palace) wins a free kick in the defensive half.
Foul by Fernandinho (Manchester City).
Joel Ward (Crystal Palace) wins a free kick on the left wing.
Substitution, Crystal Palace. Thomas Ince replaces Yannick Bolasie.
Foul by Sergio Agüero (Manchester City).
Adrian Mariappa (Crystal Palace) wins a free kick on the right wing.
Attempt saved. Edin Dzeko (Manchester City) right footed shot from the left side of the box is saved in the centre of the goal. Assisted by Samir Nasri.
Joel Ward (Crystal Palace) is shown the yellow card.
Attempt saved. Sergio Agüero (Manchester City) right footed shot from the right side of the box is saved in the centre of the goal. Assisted by James Milner.
Substitution, Crystal Palace. Glenn Murray replaces Cameron Jerome.
Substitution, Crystal Palace. Dwight Gayle replaces Marouane Chamakh.
Attempt missed. Joel Ward (Crystal Palace) right footed shot from long range on the left is high and wide to the right. Assisted by Marouane Chamakh.
Foul by Javi García (Manchester City).
Mile Jedinak (Crystal Palace) wins a free kick in the attacking half.
Substitution, Manchester City. Fernandinho replaces Yaya Touré.
Attempt missed. Yaya Touré (Manchester City) right footed shot from outside the box is close, but misses the top right corner. Assisted by Javi García.
Foul by James Milner (Manchester City).
Joel Ward (Crystal Palace) wins a free kick in the defensive half.
Corner, Crystal Palace. Conceded by Vincent Kompany.
Scott Dann (Crystal Palace) is shown the yellow card for a bad foul.
James Milner (Manchester City) wins a free kick on the left wing.
Foul by Scott Dann (Crystal Palace).
Samir Nasri (Manchester City) wins a free kick in the defensive half.
Foul by Mile Jedinak (Crystal Palace).
Corner, Manchester City. Conceded by Adrian Mariappa.