The defender has enjoyed a run in the team of late and repaid his manager's faith with two excellent finishes.
But who were the other best and worst players on the pitch?
✔️ GOOD PERFORMANCE
Kevin De Bruyne: 8.4
The Belgian continues to cruise through matches playing at a different pace to everyone else. This was another one of those displays.
His assist for Stones' first goal was sublime, an outside-of-the-foot scoop into the danger area where the defender just had to put his head on it to score. He swung a huge 13 crosses into the area and it felt like every one of them could have created an opportunity.
Pep Guardiola was able to provide Palace a reprieve by taking him off with 20 minutes remaining, as he continues to look every inch one of the best players in the world.
❌ BAD PERFORMANCE
James McCarthy: 5.2
It was a clear indication that Palace saw virtually none of the ball that midfield player McCarthy managed just 19 touches and 11 passes - with a 64% completion rate.
The Irishman wasn't in the game at all. He wasn't involved in a tackle or a duel, and gave away the foul which allowed Raheem Sterling to curl home. This says a lot about how close he got to City's key men. Worth writing this one off altogether.
⭐ STAR MAN
John Stones: 10
It's been satisfying to see Stones resurgence from a defender who looked on the verge of exiting the club to be a regular starter once again.
He was accomplished in the defensive phase, making 112 passes with a 96% completion as he did his job of recirculating possession to excellent effect.
And he topped that off with two great goals, the first a powerful header after meeting De Bruyne's cross, and the second an excellent piece of reaction inside the area as the ball broke to hammer under Vicente Guaita's body.
With Liverpool and Manchester United drawing earlier in the day, this was a perfect end to a fine day's work for Stones and City.