Victory left City on 83 points from 33 matches, one point above Liverpool although the Merseyside club can leapfrog Pep Guardiola’s team with a win over third-placed Chelsea later on Sunday.
Having missed an easy chance early on, Sterling put City ahead in the 15th minute when he ran on to Kevin De Bruyne’s inch-perfect pass from behind the halfway line and fired past goalkeeper Vicente Guaita.
The England international added a second for his 17th league goal of the season after the break, meeting Leroy Sane’s first-time cross into the box with a calm left-footed finish that wrong-footed Guaita as it rolled in.
Palace ensured an entertaining finish to the contest when Luka Milivojevic scored from a free kick with nine minutes to go after midfielder James McArthur was brought down on the edge of the penalty area.
City, however, sealed the deal with their third of the match as De Bruyne latched on to a poor pass from defender Aaron Wan-Bissaka before feeding substitute Gabriel Jesus who finished emphatically.