Under-fire Chesterfield chief Gary Caldwell was cruelly denied just his fourth win since taking over.
The Spireites were on their way to their first win on the road since March after Louis Reed’s incredible strike.
But lazy defending cost them as sub Brandan Hanlan snatched victory from the visitors eight minutes from time.
With the fans calling for his head Caldwell managed to get a much-needed response from his players, but the same defensive frailties haunted them again.
Goalie Tommy Lee stuck up for his boss before the game and he put words into action with a string of fine saves before the break.
The Spireites’ shot stopper had to have his wits about him to keep Nicke Kabamba out at full stretch.
Lee was at it again to deny Szmodics before keeping the potent youngster out minutes later. Kristian Dennis forced a decent save out of Sam Walker with the visitors’ first real effort on goal six minutes before the break.
Against the run of play Caldwell’s charges took the lead after 43 minutes - and what a goal it was.
Sheffield United loanee Reed rifled a rocket of an effort into the top left corner.
The Spireites had to sit back as the U’s held the ball without doing much with it after the restart.
There was a nervy moment as Lee fumbled a cross with Sam Hird on hand to clear the danger.
Kabamba should have equalised when he was charging down on goal but he failed to even work Lee.
After defending for their lives for the most part the Spireites cruelly conceded late on.
It took 82 minutes for the visitors to be broken down and it was another poor goal to give away.
The Spireites switched off as Ryan Jackson’s long throw was flicked on for Hanlan to head home.
Colchester: Walker, Eastman, Inniss, James (Wright, 67), Jackson, Lapslie, Comley, Vincent-Young, Szmodics (Odelusi, 89), Mandron (Hanlan, 71), Kabamba.
Unused subs: Gilmartin, Kinsella, Kpekawa, Wright.
Chesterfield: Lee, Wiseman, Hird, Jules, Barry, Reed (McCourt, 73), Weir, Flores, Briggs, Dennis (Ugwu, 84), De Girolamo (O’Grady, 66).
Unused subs: Anyon, Maguire, Kellett, Sinnott.
Referee: Darren Handley (Lancashire)
Attendance: 2552 (117)