City will secure a third title in four seasons if second-placed Manchester United lose at home to Liverpool.
After a scrappy first half at Selhurst Park, Sergio Aguero thumped City ahead with a clinical finish before Ferran Torres drilled in a low shot.
That ended the resistance of Palace, who stay in 13th place.
Roy Hodgson’s side had chances in the first half through Christian Benteke, who flicked a header wide and had a close-range shot blocked by City keeper Ederson.
But once City made their breakthrough when Aguero smashed high into the net, quickly followed by Torres’ precise finish, the result was not in doubt.
Now it is a question of when, not if, Pep Guardiola’s side will be crowned champions again after relinquishing the crown to Liverpool last season.
We can start to put the champagne in the fridge – not to open yet, but to think about it, said Guardiola, whose side moved 11 points clear of United.
The Premier League is already there – it is in our hands. We need one more victory, two more points.