Bradford, chasing a play-off place, went ahead when Wes Thomas converted Josh Cullen's pass, but Kevin Keen's side levelled through Ambrose's volley.
Buoyed by the leveller, George Moncur struck an upright, before Ambrose took Owen Garvan's pass to make it 2-1.
It was enough to secure a double against the Bantams this season.
The win was Colchester's first in League One since a 2-1 home success against Port Vale in October, and Keen's first in the competition since his December appointment.
Phil Parkinson's side dropped two places to ninth after the defeat, their first in five.
Darren Ambrose's double helped struggling Colchester United come from behind to win 2-1 at Bradford City and end a 19-game League One winless run.