David Wetherhall headed a dramatic late winner to put City third in the table and end Rovers' unbeaten home record.
Steven Schumacher put City ahead from close range but Ryan Taylor levelled from the penalty spot.
Nicky Summerbee's 30-yard free-kick restored the lead but Iain Hume made it 2-2 from long range before Dean Windass put City ahead again from a rebound.
Ben Muirhead's solo effort made it 4-2 but David Beresford and Hume headers levelled it before Wetherall struck.
Tranmere: Achterberg, Taylor, Jackson, Sharps (Beresford 80),
Goodison, Hall, Rankine, McAteer, Roberts, Hume, Dadi (Zola 80).
Subs Not Used: Howarth, Whitmore, Harrison.
Goals: Taylor 45 pen, Hume 66, Beresford 82, Hume 87.
Bradford: Henderson, Holloway, Emanuel, Bower, Wetherall,
Kearney, Schumacher, Summerbee, Windass, Muirhead, Adebola.
Subs Not Used: Symes, Bentham, Gavin, Penford, Crooks.
Goals: Schumacher 33, Summerbee 53, Windass 70, Muirhead 81,
Ref: G Hegley (Hertfordshire).