Four Michael Platt tries helped Bradford twice come from behind to beat London Broncos.
The Broncos raced to a 16-0 lead after 10 minutes as Michael Robertson, Matt Cook and Michael Channing went over and Michael Witt added two goals.
Bradford responded through Karl Pryce and two Platt tries but Witt's score put the hosts ahead at the break.
The Bulls centre then crossed twice more before Luke Gale landed a fourth goal and a late drop-goal for victory.
The Broncos retained the same starting 13 who laboured to victory at Batley last weekend, while Elliot Kear returned at full-back for Bradford after recovering from a broken hand.
While the hosts had just two wins to their name at home this campaign, Bradford had notched four wins on their travels and came to the capital in confident mood.
But they were stung as the Londoners took the lead inside three minutes, Cook bursting through two tackles to tee up full-back Robertson to speed home.
The hosts doubled their lead minutes later, Cook himself rumbling over after Witt had made an earlier break.
Things got even better for the Londoners on 10 minutes, Channing diving over after Witt created the space.
Bradford, with former London stars Pryce and Gale in their ranks, needed inspiration and they got it on 18 minutes when the pair combined for the Bulls' first score, Pryce claiming Gale's kick to touch down.
The next score looked crucial and it was the visitors who got it, Platt muscling over despite three would-be tacklers, to reduce the deficit to one score.
Witt struck next for the home side after a break from Chris Bailey, but that was quickly cancelled out by Platt's second, as he showed great strength to wrestle his way over in the corner.
Moments after the restart the visitors hauled themselves level, Platt claiming his hat-trick when he squeezed over after a flowing move.
The first 15 minutes of the second half passed without any further scoring, with Robertson denying Gale with a stunning last-ditch tackle to save the day.
In fact it was only strong defence that was keeping London in it, but Bradford finally took the lead for the first time on 62 minutes, Platt claiming his fourth with another similar score, struggling over the line after the ball was shipped along the backs.
The Bulls had London where they wanted them, and they boosted their lead by a further two points when Gale booted a penalty with 10 minutes remaining.
Gale then added a late drop-goal to seal the two points.
London Broncos: Robertson, Dixon, Channing, Sarginson, O'Callaghan, Witt, Gower, Kaufusi, Randall, Bryant, Rodney, Cook, Bailey.
Replacements: B. Bolger, Melling, Wheeldon, Dorn.
Bradford: Kear, Ainscough, Platt, Lulia, Pryce, Jeffries, Gale, Hargreaves, Diskin, Kopczak, Langley, Whitehead, Elima.
Replacements: L'Estrange, Addy, Manuokafoa, Burgess.
Referee: Robert Hicks (Oldham)