The U's fell behind in the third minute to Tobi Alabi's strike.
But Colchester were back on level terms just after the half hour through Jordan Sanderson, who slotted home after an enterprising run from Drey Wright.
Alex Gilbey cleared off the line for the U's just before half-time but the home side took the lead from the penalty spot just before the hour mark.
Ben Coker was fouled in the area and Freddie Ladapo slotted home the resultant spot-kick.
But Aiden O'Brien earned the Lions a share of the spoils and the same player may have claimed all three points late on for the visitors when he missed a gilt-edged opportunity in the closing stages.
See the Daily Gazette for all of the latest Colchester United news.