City enjoyed the better of the first period but could not find a breakthrough, with Leroy Sane denied by Cesar Azpilicueta's goalline clearance.
Silva put City ahead just after the restart when he got ahead of Marcos Alonso at the far post to turn David Silva's cross into the net.
Victor Moses had Chelsea's best chance soon afterwards but he fired wide as the Blues suffered their fourth defeat in five Premier League matches. They remain in fifth, five points behind fourth-placed Tottenham Hotspur.
City are now 18 points clear with only nine matches remaining.
Man City: 12 Mar v Stoke City (A)
Chelsea: 10 Mar v Crystal Palace (H)