There was a quick start as Aaron Mclean fired straight at goalkeeper Sam Walker after only 10 seconds, before Freddie Sears went close for Colchester.
Walker palmed away Nathan Doyle's low first-time effort but from the resultant corner, James Hanson powerfully headed in Matthew Dolan's corner to give Bradford a 15th-minute lead.
Mclean tested Walker with a fizzing half-volley just after the half-hour and the Hull loanee should have doubled City's lead just before half-time when he blasted a gilt-edged chance wide, after Kyle Bennett had dispossessed former Bradford loanee Ryan Dickson midway inside the Colchester half.
Hanson's downward header dropped just wide just after the break before Bradford doubled their lead 10 minutes into the second half when Bennett capitalised on some sloppy U's defending to burst into the area and plant a shot into the far corner from a tight angle.
Walker also denied Adam Reach after the hour mark, as Phil Parkinson claimed a well-deserved win at his old club.