They climbed a couple of places to tenth in League Two and sit just a point off the top seven ahead of next week's game against Yeovil.
The match was initially called off but, nearly two hours later, the two teams finished the game and the U's took the three points which means it's all to play for against Yeovil next week.
With Chris Porter and Macauley Bonne adding to Tarique Fosu's first half goal to put the U's in front, the Orient fans flooded onto the pitch to protest at club's owners.
Having drawn their last three games, the loss of attacking threat Brennan Dickenson and young central defender Cameron James were both huge blows for the U’s mid-week.
The first chance on goal fell to Colchester’s George Elokobi, who rose high above the Leyton Orient defenders to head the ball goalwards from a corner in the fourth minute, but Sam Sargeant collected the effort.
Not many clear cut chances had been created in the first 20 minutes of play, and possession was equally shared between the two sides in the centre of the field.
Leyton Orient’s first shot on goal came after 21 minutes from outside the box, when Tristan Abrahams spun his way out of a tackle but dragged his low shot wide of the goal, not worrying Sam Walker.
Then, Richard Brindley fooled the majority of the crowed by shooting from a free-kick wide left of the goal, which whistled just over the bar which looked to have beaten keeper Sargeant.
After very little in the way of clearcut chances in the first 25 minutes Colchester took the lead.
Tarique Fosu threw himself at a pin point cross form Tom Eastman and saw his header hit the back of the net, to finish off an impressive move from the visitors.
Another chance for Abrahams on 35 minutes, who latched on to a loose ball just outside the box and tried to bend one around Walker and in to the top corner, but his effort narrowly missed the target.
On the stroke of half-time, Paul McCullum directed a headed effort towards goal form an early cross, but Walker got down well to collect the attempt, clearly Orient’s best chance of the game so far.
The action began straight away after the break, a run down the left wing from Fosu, who beat his man and fizzed in a teasing cross which Sargeant had to come out and push around his post for a Colchester corner.
Both teams started the second half quickly and a stunning effort from Sandro Semedo drew Leyton Orient level.
Semedo picked up the ball in the middle of the midfield and ran 10 yards before letting of a rocket that flew straight in to the top corner of Walker's net.
An early cross from Matt Briggs found a free Chris Porter in the box, but the striker couldn’t manage to keep his headed effort low enough to trouble the keeper.
Brindley’s cross ran wide of the box and fell to an on-running Briggs, whose heavily deflected shot bounced just wide of the far post and out for a Colchester corner.
Minutes after the hour mark, Fosu picked up the ball and wriggled through three defenders to get in to the box, but couldn’t connect cleanly enough with the ball to trouble Sargeant.
A wide free-kick that wasn’t cleared properly, fell to Eastman, who laid up Murray for a 25-yard shot but the midfielders effort flew high over the goal.
However, the U's did get the next goal that could prove so crucial.
After a howling error by the home defence, who failed to clear the ball on two occasions, Fosu gratefully managed to get a toe to the loose ball, and take it around Sargeant before looking up and finding Porter, who tapped the ball in to an empty net from two yards out.
Two goals in two minutes for Colchester, and the U’s completely changed the game around as substitute Bonne got a third.
He controlled the ball, lost his defender and then shot on the turn put Colchester 3-1 up as the ball rolled passed a beaten Sam Sargeant.
That saw hundreds of Orient fans take to the pitch and there was a lengthy delay, with the match initially called off by the referee.
An hour later, the players were back on the pitch to play out the remainder of time and the U's saw that off without any trouble to pick up a vital win.
Colchester next play Yeovil Town at home on the last day of the season where another win will hopefully be enough to secure a play-off place.