Cheltenham's Damian Spencer ended his old club's 18-game unbeaten run with the only goal and in the process helped his new side's hopes of survival. Spencer volleyed home the winner after his header from a free-kick had been blocked just before half-time.
Visiting keeper Shane Higgs confirmed his side's victory with saves from Bradley Orr and debutant Kevin Betsy.
Cheltenham's win was soured however as another ex-Bristol City player Scott Brown suffered a suspected broken leg.
Bristol City: Basso, Orr, Carey, McCombe, McAllister (Noble 80), Murray, Skuse, Johnson (Russell 80), Brian Wilson, Showunmi, Andrews (Betsy 46).
Subs Not Used: Weale, Keogh.
Booked: McCombe.
Cheltenham: Higgs, Gill, Townsend, Duff, Armstrong, Melligan (Odejayi 62), Finnigan, Scott Brown (Yao 15), Bird, Spencer (Caines 82), Connor.
Subs Not Used: Scott Brown, Lowe.
Booked: Yao, Armstrong, Duff, Gill.
Goals: Spencer 44.
Att: 12,227
Ref: R Styles (Hampshire).