Harlequins: (8) 22
Tries: Sykes 2, Purdham 2, Wells
Goals: Purdham
Bradford: (12) 36
Tries: Langley, Morrison 2, Harris, Vainikolo, Platt
Goals: Deacon 6
Super League leaders Bradford survived a scare at Harlequins to stay top of the table after an 11-thriller.
The Bulls were 12-0 up after tries from Jamie Langley and Glenn Morrison but Quins fought back when Paul Sykes went over after a free-flowing move.
Two Rob Purdham tries put the hosts ahead and Jon Wells added another.
But the Bulls woke from their slumber with Morrison sneaking through again before late tries from Lesley Vainikolo and Michael Platt rounded off victory.
Bradford coach Steve McNamara
"We built a great platform early on and looked as though we would run away with it but a couple of defensive slips let them back into it. "The pendulum swung completely for a while but we showed tremendous character and were very tenacious to come back again.
"But we can't keep doing this - the players are frustrated with themselves and so am I - we've got to rectify the problem as soon as possible."
Harlequins coach Brian McDermott
"Defensively we were very poor and allowed Bradford to play their type of game. "In the past we've been guilty of not being good enough with the ball but that wasn't the case - we didn't even get the chance to be good with the ball.
"Near our own try-line we were outstanding and stopped tries they had more of a right to score but we then let ourselves down with some very soft tries.
"We were very good in patches and we really exposed them but when we poor we were awful and that's not good enough."
Harlequins: McLinden, Wells, Sykes, T. Smith, Gafa, Hill, Orr, Temata, Randall, Heckenberg, Purdham, Hopkins, Paul.
Replacements: Rinaldi, McCarthy-Scarsbrook, Grayshon, Melling.
Bradford: Platt, St Hilaire, B. Harris, Hape, Vainikolo, I Harris, Deacon, Vagana, Henderson, Lynch, Solomona, Morrison, Langley.
Replacements: McKenna, Burgess, Feather, McAvoy.
Referee: P Bentham (Warrington)