The Wildcats looked set for a shock win as tries by Paul White and John Whittle put them 10-0 up, but Stanley Gene kept the Bulls in touch at the break.
Semi Tadulala stretched the lead before Iestyn Harris and a Paul Deacon penalty pulled the Bulls level.
Shontayne Hape scored to put Bradford in front for the first time and they held on to win.
Bradford coach Brian Noble: "The weather and a very determined Wakefield team made for a hard day at the office for us.
"We didn't help ourselves with some of the things we did but we addressed that at half-time and I thought we came out for the second half very determined.
"A lot of teams would have lost it after conceding so soon after the break, but we were very determined."
Wakefield: Halpenny, White, Demetriou, Whittle, Tadulala, Jeffries, Obst, Griffin, March, MacGillivray, Solomona, Catic, Betham. Replacements: Henderson, Korkidas, Elima, J. Field.
Bradford: Withers, Bai, B. Harris, Hape, Pryce, I. Harris, Deacon, Fielden, Henderson, Lynch, Meyers, Johnson, Langley. Replacements: Gene, Vagana, Cook, Ferres.
Referee: P Bentham (Warrington)