Swindon fought back with two goals in three minutes in the second half to earn a draw.
Colchester allowed a two-goal lead to slip and were heading for an important victory over fellow strugglers before a late Town revival.
Colchester, who had scored six goals all season in the league, were gifted the lead in the second minute.
Swindon goalkeeper Bart Griemink allowed a tame free-kick from Joe Keith to slip under his body for Scott McGleish to tap in from a yard out.
Swindon wasted several clear chances to equalise with Australian striker Danny Invincibile the major culprit.
Invincibile's worst miss came in the 39th minute when he somehow headed over from only three yards.
Colchester went further in front in the 49th minute and again it was a blunder by goalkeeper Griemink.
The goalkeeper came off his line to contest a Kemal Izzet cross but failed to gather allowing French midfield player Thomas Pinault to score.
Just when it looked as though Colchester would stroll to only their fourth win of the season, Swindon stormed back.
In the 66th minute John Jackson flighted a corner in from the left and skipper Andy Gurney headed in from six yards.
This was the signal for a Swindon recovery and two minutes later they equalised.
Alan Reeves set it up with a long hopeful punt out of defence that allowed Eric Sabin to dispossess Danny Steele and shoot under the body of goalkeeper Simon Brown.
Swindon almost snatched an unlikely winner deep into injury time, when Gurney fired in a powerful low free-kick from 25 yards which goalkeeper Brown managed to push around his right hand post at full stretch.