League One Wrap: Lowly U's stun Bristol City
Early goals from youngsters Tom Lapsliea –the first of his senior career - and Macauley Bonne put Tony Humes' side into a commanding lead, before Chris Porter added a third midway through the first-half.
James Tavernier and Aden Flint's second goal in two games put more pressure on the hosts.
However, Colchester held on to condemn Steve Cotterill's side to their second defeat in a week, moving out of the bottom four for the first time since November in the process.
There was no such slip-up for second-placed MK Dons however, as they reduced the gap between themselves and City to two points with a convincing 3-0 home triumph against Peterborough United.
Darren Ferguson's side have now lost three of their last four league games, with Will Grigg's opener and a Ben Reeves double doing the damage before the half-time whistle.
Gavin Tomlin's 88th minute strike gave lowly Crawley Town a 2-1 victory away at Swindon Town, who remain in third.
Sheffield United extended their unbeaten run to four matches – coming from two goals down to draw with Coventry City at Bramall Lane, despite having Jose Baxter sent off.
Preston North End closed the gap between themselves and Swindon as they dispatched Scunthorpe United 2-0 at Deepdale, while a 1-1 draw with Walsall was enough to see FA Cup high-flyers Bradford City move into the play-off spots.
Adam Morgan's last-gasp penalty earned bottom-club Yeovil Town a point at home to Gillingham, while Port Vale brought Doncaster Rovers' three-match winning run to an end at Vale Park with a resounding 3-0 triumph
Struggling Leyton Orient thrashed Oldham Athletic 3-0 in to earn their third home league win of 2014-15, with 10-man Fleetwood Town coming from behind to beat Notts County 2-1.
In Saturday's remaining fixtures, Ian Henderson bagged the only goal as Rochdale overcame Chesterfield and Barnsley leapfrogged Crewe Alexandra with a 2-0 triumph.