Kai Redgrave struck midway through the second half, with Tom Stagg adding a late goal to earn the U's all three points against Millwall in the Professional Development League.
The game started with the home side doing most of the attacking, as Colchester United carved out two good opportunities to take the lead in the opening fifteen minutes.
Both chances came down the right wing, with Kai Redgrave for the U's, with the first coming from the wide man's cross to the back post.
The ball wasn't dealt with by Millwall's Okoli, allowing Sayer and Stagg both opportunities to shoot, but they were unable to force the ball home.
The second chance fell to Redgrave after a neat ball from Kaan Bennett in the middle of the pitch. Picking out Redgrave, the winger drove forward and stung the palms of Wright who was able to collect at the second attempt.
The U's had to ensure they remained strong at the back though, with Endurance Johnson forced into a couple of saves in quick succession.
Johnson got a strong hand to the first, pushing away Boateng's low drive, before the resulting corner forced the 'keeper into further stops at a crowded back post.
As the game went on, chances became difficult to come by with the two teams evenly matched, but a flurry of opportunities arose just before the half time whistle. Drakes-Thomas saw his header cleaed off the line at the back post with Beadle unable to force home the follow up.
But at the other end, Billy Cracknell provided an equally impressive acrobatic clearance, when Johnson was beaten. A looping header looked set to give the visitors the lead, but for Cracknell to deny and clear away from goal with his outstretched foot.
One final chance of the half fell to the U's, with Sayer and Stagg both having efforts on goal. Sayer forced Wright into a save, where he spilled the ball to the feet of Stagg. But Topalloj managed to get a foot in the way for Millwall and deny Stagg a certain goal, clearing the ball for a corner.
After the break, the U's had their backs to the wall to prevent the hosts from taking the lead. Millwall had the best opportunity of the game yet, when Boateng was fouled by Cracknell in the area with the referee awarding a penalty.
Endurance Johnson was the hero for the U's though. Sean O'Brien stepped up and saw his penalty saved by Johnson, a low kick to the right, pushing the ball around the post and out for a corner.
With twenty minutes to go, the U's finally found the target, with Kai Redgrave getting his name on the scoresheet. Colchester United had gone close moments earlier with Stagg's curling effort, but Wright had pushed the ball away to Sayer. The wiger collected and drilled the ball back across to Redgrave who had the simplist of finishes at the back post.
As the game entered injury time, the U's added a second with a swift counter attack finished off by Tom Stagg. The ball was played through by Ryan Lowe, with Stagg applying the low finish to put the game beyond doubt.
The U's would hold on for a win against the London side, picking up three points in the Professional Development League and moving up into fourth position, just a place and a point behind Millwall.
Colchester United starting XI: Johnson, Parish, Price, Lowe, Beadle, Cracknell, Redgrave, Drakes-Thomas, Stagg, Bennett, Sayer.
Subs: Tedaldi, Asare-Williams, Marcel-Dliaver, Chakawa, Trialist.
Millwall starting XI: Wright, Walker, Garande, Allen, Okoli, Topalloj, Boateng, Thompson, Briscoe, O'Brien, Drozd.
Subs: Abdulmalik, Gillmore, Leahy, Smith.