Glenn Poole scored a superb long-range goal as Brentford stretched their unbeaten run to four matches and left Bradford without a win in eight games.
Poole put the Bees ahead just before half-time with a volley from 25 yards which dipped just under the bar.
Bradford's Guylain Ndumbu-Nsungu hit the bar before Lee Thorpe made it 2-0 after a cross from Sammy Moore.
Mark Bower pulled one back for City to set up a frantic finish but Brentford held on for their third away victory.
Bradford: Ricketts, Williams, Bower, Wetherall, Heckingbottom, Daley, Johnson, Law , Nix (Rhodes 75), Conlon (Medley 63), Ndumbu-Nsungu (Paul Evans 85).
Subs Not Used: Saynor, Clarke.
Booked: Paul Evans.
Goals: Bower 88.
Brentford: Simon Brown, Starosta, Heywood, Mackie, Emanuel, Moore, Pead, O'Connor, Poole (Shakes 51), Thorpe (Montague 67), Connell (Charles 83).
Subs Not Used: Masters, Pettigrew.
Goals: Poole 41, Thorpe 60.
Ref: Mike Pike (Cumbria).