Match ends, Crystal Palace 0, Manchester City 3.
Leroy Sane scored for the third successive game to help Manchester City reach the FA Cup fifth round as Crystal Palace lost to Premier League opposition for the fifth time in six games under Sam Allardyce.
City went in front when Gabriel Jesus marked his first start by setting up Raheem Sterling to score.
Sane doubled their lead after a wonderful David Silva pass.
Yaya Toure completed the victory with an exquisite finish from a free-kick.
Captain Vincent Kompany played the full 90 minutes on his return from a two-month injury lay-off.
Reaction from Selhurst Park and all of Saturday's FA Cup fourth round ties
Pep smiling again on positive day
City boss Pep Guardiola joined his players on the pitch at the final whistle to thank the club's 3,662 travelling supporters.
The Spaniard has not had an awful lot to smile about lately, his side winning just two of their past five games, and was even pictured looking glum during a hailstorm at Selhurst Park.

By the end, Guardiola was joking on the pitch with Toure after City made easy work of Palace on a day of several positives.
Jesus' pass for the opening goal was as lovely to watch as Sterling's clinical finish, Silva's ball to Sane was even better, and Toure's set-piece goal was stunning.
On top of that, Kompany returned nine weeks after suffering knee-ligament damage and concussion at the same ground.
Problems mount for Allardyce
Palace played some of their best football last season in the FA Cup, winning at Southampton and Tottenham on their way to the final.
This time they limped out of the competition in disappointing fashion in front of their own fans, leaving them to focus on Premier League survival.
With a league match at Bournemouth to come on Tuesday, Allardyce made six changes. Few impressed, and recent signing Jeffrey Schlupp went off with a hamstring injury.

There were, though, glimpses of encouragement.
City's second-choice keeper Willy Caballero had to save well to deny James Tomkins when the tie was goalless and, with Palace trailing 1-0, substitute Loic Remy fired wastefully over.
Allardyce will now look to push through the signing of Sunderland defender Patrick van Aanholt before the transfer window closes at 23:00 GMT on Tuesday.
Palace have conceded in all six games against top-flight opposition since Allardyce took charge last month and that must be addressed if they are to stay up.
'Silva's pass amazing'
Crystal Palace boss Sam Allardyce: "We've lost that habit of winning. Our game is OK in parts. We look quite good at times and then a mistake creeps in and the opposition punish us.
"Loic's was the main chance. If that goes in the back of the net it may have been different. I've got more to worry about with the goals we're conceding rather than moan about referees."
Manchester City boss Pep Guardiola: "While it's good to have a clean sheet because of the goals we've conceded lately, it is also important to score goals, which we did.
"We can play better but I'm happy and David was amazing the way he kept waiting and waiting for the right moment before playing in Leroy.
"We are also happy for Vincent. He's had a long time away and he played 90 minutes with no injuries.
"Now he can go forward with confidence and we have another player for the Premier League, FA Cup and Champions League which is very important because the games will come thick and fast now."
Line-ups
Crystal Palace
Formation 4-2-3-1
- 13Hennessey
- 2Ward
- 34KellyBooked at 54mins
- 5Tomkins
- 31SchluppSubstituted forFryersat 76'minutes
- 4Flamini
- 16LedleyBooked at 90mins
- 14Lee
- 22MutchBooked at 30minsSubstituted forMcArthurat 65'minutes
- 10Townsend
- 17BentekeSubstituted forRemyat 45'minutes
Substitutes
- 7Cabaye
- 8Remy
- 18McArthur
- 19Fryers
- 25Kaikai
- 27Delaney
- 40Perntreou
Man City
Formation 4-2-3-1
- 13Caballero
- 3SagnaBooked at 57mins
- 4Kompany
- 11Kolarov
- 22Clichy
- 42Y TouréBooked at 28mins
- 18Delph
- 7SterlingBooked at 36minsSubstituted forNavasat 66'minutes
- 21SilvaSubstituted forRegesat 79'minutes
- 19SanéSubstituted forNolitoat 84'minutes
- 33Gabriel Jesus
Substitutes
- 1Bravo
- 5Zabaleta
- 6Reges
- 9Nolito
- 15Navas
- 17De Bruyne
- 24Stones
- Referee:
- Mike Jones
- Attendance:
- 13,979
Match Stats
- Possession
- Home37%
- Away63%
- Shots
- Home9
- Away14
- Shots on Target
- Home3
- Away6
- Corners
- Home3
- Away9
- Fouls
- Home14
- Away19
Live Text
Post update
Full Time
Second Half ends, Crystal Palace 0, Manchester City 3.
Post update
Corner, Manchester City. Conceded by Andros Townsend.
Goal!
Goal! Crystal Palace 0, Manchester City 3. Yaya Touré (Manchester City) from a free kick with a right footed shot to the top left corner.
Post update
Delay over. They are ready to continue.
Post update
Delay in match Gabriel Jesus (Manchester City) because of an injury.
Booking
Joe Ledley (Crystal Palace) is shown the yellow card for a bad foul.
Post update
Foul by Nolito (Manchester City).
Post update
Joe Ledley (Crystal Palace) wins a free kick in the defensive half.
Post update
Gabriel Jesus (Manchester City) wins a free kick in the attacking half.
Post update
Foul by James McArthur (Crystal Palace).
Post update
Foul by Yaya Touré (Manchester City).
Post update
Mathieu Flamini (Crystal Palace) wins a free kick in the defensive half.
Post update
Hand ball by Gaël Clichy (Manchester City).
Substitution
Substitution, Manchester City. Nolito replaces Leroy Sané.
Post update
Foul by Jesús Navas (Manchester City).
Post update
Lee Chung-yong (Crystal Palace) wins a free kick in the attacking half.
Post update
Foul by Fernando (Manchester City).
Post update
Loïc Remy (Crystal Palace) wins a free kick on the right wing.
Post update
Foul by Leroy Sané (Manchester City).