Walsall eased the pressure on player-boss Paul Merson with a deserved win.
When Richard Garcia put Colchester in front it seemed the home side might be heading for a fourth successive defeat.
But Merson inspired his team to fight back, twice hitting the crossbar himself before his corner was headed in by Julian Bennett to make it 1-1.
Neil Emblen headed in a Merson free-kick to put the home side ahead but it needed a desperate clearance from Bennett to preserve the advantage.
Walsall: Murphy (Paston 79), Wright, Emblen, Bennett, Aranalde, Osborn, Merson, Wrack, Kinsella, Leitao, Fryatt.
Subs Not Used: Roper, Birch, Williams, Broad.
Goals: Bennett 73, Emblen 84.
Colchester: Gerken, Halford (Stockley 79), Brown, Baldwin, Hunt, Keith, Watson, Danns (Bowry 80), Johnson (May 86), Williams, Garcia.
Subs Not Used: Izzet, Cousins.
Goals: Garcia 71.
Ref: R Beeby (Northamptonshire).