James O'Brien slammed in the first for the Bantams from the edge of the penalty area after good work from Gareth Evans in the second minute, but Cheltenham hit back through Elvis Hammond's third of the season two minutes later.
Evans scored a fine solo effort in the seventh minute as Bradford regained the lead, but Michael Townsend headed in David Hutton's free-kick to make it 2-2 after 10 minutes.
James Hanson leapt highest to head in O'Brien's corner after 20 minutes, but Cheltenham responded once again when Justin Richards netted a fine overhead kick before half-time.
Steve Williams made it 4-3 in the 50th minute after a flick-on from Hanson and Simon Ramsden's header from O'Brien's free-kick deflected in off Townsend to give Bradford a two-goal advantage in the 71st minute.
Richards stabbed home his second in the 89th minute, but Bradford held on to inflict Cheltenham's first league defeat of the campaign.