Nahki Wells put City ahead in the eighth minute with a fine low finish and only a string of saves from home goalkeeper Scott Brown kept the score down before a remarkable second-half turnaround.
Substitute Kaid Mohamed created Jimmy Spencer's first with a run and cross down the left to level the scores less than a minute after the restart.
Brown made a flying save to keep out James Hanson's drive as Bradford almost regained their advantage in the 47th minute, but after that it was all Cheltenham.
Luke Summerfield's pass set up Spencer for a well taken second in the 63rd minute, the on-loan Huddersfield striker curling a shot into the top right corner.
And Ben Burgess sealed Cheltenham's third home victory in succession with a deft finish after Sido Jombati picked him out with a long ball in the 71st minute.