Wesley Hoedt headed against the bar and Maya Yoshida blasted over as Saints went close to a first-half goal despite Man City's pressure.
But Kevin De Bruyne whipped in the opener from a left-wing free-kick shortly after the interval.
Oriol Romeu looked to have earned Saints a point on 75 minutes when he found the roof of the net from Sofiane Boufal's cutback, but Sterling curled in from the edge of the box in the sixth minute of added time.
City are eight points clear at the top of the table. Saints drop to 11th.
Man City: 3 Dec v West Ham (H)
Southampton: 3 Dec v AFC Bournemouth (A)