Stones, closing in on 100 Premier League appearances for City, headed his first league goal for the club after a sublime cross by Kevin de Bruyne in the 26th minute.
Ilkay Gundogan curled in a delightful second goal 11 minutes after the interval before Stones was in the right place to fire home a loose ball with his left foot in the 68th minute.
Raheem Stirling crowned a superb second-half City display with an unstoppable free kick into the top corner late on.
The earlier draw between leaders Manchester United and champions Liverpool was a pre-match boost for Pep Guardiola's side and they capitalised with a fifth successive league win to move within two points of United and have a game in hand.
They have 35 points from 17 games and are ahead of Leicester City on goal difference with Liverpool fourth on 34 points.
Palace remain in 13th place on 23 from 19 matches.