Town had taken the lead twice but were pegged back each time by the visitors with three of the goals being scored in the opening seven minutes of the second half.
Mark Cooper made two changes to his line up with Louis Thompson and Jake Reeves starting in place of Anton Rodgers and Ben Gladwin and Yaser Kasim moved into his usual midfield slot.
The Robins first attack in the 4th minute saw Nathan Byrne get possession in midfield and he chose initially to ignore Williams in space on the left wing but eventually threaded a pass through to Williams who managed to side step the goalkeeper but the ball ran out for a goal kick.
Swindon patiently built up some pressure with a series of passes involving several players but the move ended in the 17th minute when Byrne fired high over the bar from outside the area. The visitors responded with a corner at the other end but the Town defence cleared the ball easily.
The Robins had a corner in the 24th minute taken by Byrne but the ball ran straight or a goal kick and the visitors attacked strongly going close through Sears but Jordan Turnbull was on hand to clear off the line.
Town took the lead in the 27th minute through Michael Smith when he fired home a cross by Bell for his 10th goal of the season and there was a good contribution from Jake Reeves in the build up to the move.
Colchester responded strongly and earned a corner in the 30th minute which led to nothing although Foderingham set up an attack with a long range pass to Williams on the right wing but he was eventually dispossessed at the expense of a throw in.
The visitors had two corners in as many minutes but that led to a superb breakaway attack for Luongo who managed to shrug off a rough challenge and charge down the left wing but he eventually lost possession under pressure.
Alex Gilbey was cautioned in the 39th minute for a late challenge near the halfway line.
Amari’i Bell and Jake Reeves were combining well on the left wing for the Robins and that combination were involved in another good attack in the 43rd minute but Bell’s cross was too close to the keeper Sam Walker.
Town continued to push forward in added time but there was no further action to report before the half time whistle was blown by the referee Sarginson.
The second half was kicked off by the Robins but it was the visitors who scored in the 47th minute through Rhys Healey who found himself with yards of space and he advanced into the penalty area before firing a shot past Foderingham after sidestepping Stephens' challenge.
However Town’s response came just over a minute later when Luongo advanced down the right wing before crossing for Michael Smith to fire home in the 48th minute.
Once again Colchester gained a foothold in the match when Gavin Massey found himself in front of goal after several weak challenges by the Town defence saw the ball ricochet to Massey who fired home to equalise in the 52nd minute.
Massimo Luongo continued to feature heavily in attack and another determined run saw him lay off the ball to Smith but his shot was straight at the keeper and Luongo also tried his luck with a shot of his own which the keeper caught. Luongo continued to find space in front of goal and fired in another shot which the keeper caught low down.
Harry Toffolo made his Town debut replacing Bell in the 60th minute and he took up position on Town’s left and four minutes later Sanchez Watt replaced Alex Gilbey for the visitors.
Andy Williams left the field to be replaced by Jon Obika in the 67th minute as Mark Cooper shuffled his pack.
Rhys Healey was cautioned in the 68th minute for playing on after the referee had whistled for offside against him.
There was a break in play when Stephens got injured when making a challenge near the dugouts but he was able to continue after treatment and after Town had successfully defended a United corner.
Sanchez Watt was cautioned for a wild hack from behind on Luongo in the 75th minute and Luongo again featured for Town when he set up Byrne with a good pass into the box but Byrne’s shot was parried by the keeper and out for a corner.
Michael Smith was denied a hat trick by Magnus Okuonghae who somehow kept out Smith’s powerful shot on the goalline with the keeper beaten and the ball went out for a corner.
Colchester almost caught Town out with a swift counterattack that saw Kasim outpaced but Thompson’s fine tackle whipped the ball away for a corner and that was cleared in the 85th minute and two minutes later they threatened again through Healey but he fired wide.
Colchester appealed for a penalty early in the 5 minutes of added time for a tackle by Thompson but their claims were waved away.
The visitors continued to push forward in numbers keeping Town back in their own half for much of the added time and the whistle was blown to end an entertaining game with the points being shared.