Colchester substitute Steven Gillespie's long-range strike secured John Ward's play-off chasers a narrow win over struggling Swindon.
Gillespie lashed in a stoppage-time shot from 25 yards after Swindon goalkeeper David Lucas had punched away Lloyd James' corner to seal three points for the home side.
Swindon, without a win in nine games, almost took a second-minute lead when Colchester goalkeeper Mark Cousins palmed Elliott Benyon's superb 30-yard effort on to the crossbar.
But the U's went ahead four minutes later through David Mooney, who scored from the spot after Robins' defender Andy Frampton had handled in the penalty area.
Swindon goalkeeper Lucas denied Mooney from point-blank range before half-time, but Jon Obika forced Cousins into a good save early in the second half.
And the visitors equalised six minutes after half-time through Scott Cuthbert, who headed in after Cousins had prevented U's defender Pat Baldwin from putting through his own net.
The game might have gone either way after that, before Gillespie won it for Colchester with his spectacular late strike.
Copyright (c) PA Sport 2009, All Rights Reserved.