Hayden Mullins' side have been comfortably beaten at the Banks's Stadium, thanks to a brace from Otis Khan, and one from Jack Earing.
A ten-minute brace from Khan in the first half got the Saddlers on their way to three points against the U's. And Khan was the provider of the third in the second half, crossing for Earing to find the back of the net in the sixty-sixth minute.
Hayden Mullins named a lineup with two changes to the side that drew 0-0 at Bradford City in the week, with Dobra and Chilvers both missing from the starting eleven.
Noah Chilvers was missing through suspension after picking up his fifth yellow card, while Armando Dobra was sat on the bench, with Brendan Wiredu and Luke Hannant coming in to take their places.
The U's made a sluggish start to the game and struggled to get out of their own half in the opening quarter of an hour, without the Saddlers really testing Jake Turner in goal for the visitors.
But the hosts' pressure told in the twenty-second minute of the game when Otis Khan netted the opening goal of the game for Walsall. A cross from the left flank looked to take a deflection and avoid the arms of Turner, allowing the Saddlers' attacker an easy tap in on the six-yard line.
The goal brought out some attacking play from the U's with Luke Hannant forcing a save out of Carl Rushworth from Alan Judge's clipped cross to the back post. And the visitors had a good spell of attacking play, having another effort cleared off the line with Judge's delivery causing problems in the area.
But ten minutes after Khan had netted the first, he bagged a second for himself and the Saddlers. A cross was not dealt with at the back post buy the U's, with Khan volleying a first-time effort beyond the feet of Turner to make it 2-0.
Walsall would keep their two-goal advantage until the break, with the U's needing a response to get back in the game in the second period.
After half time, the U's were the side doing much of the attacking, as the home side invited the pressure onto their two-goal lead.
And the U's had a flurry of chances in the opening fifteen minutes of the half. Junior Tchamadeu went closest for the U's striking the upright after his low effort had squirmed under Rushworth, before the home 'keeper was able to collect.
Luke Hannant had an effort that went close to reducing the deficit, drilling the ball just wide of the far post, with Sears going just as close after being picked out by Tommy Smith's looping ball from the halfway line.
Sears went closer with another strike just before the hour mark, when Brendan Wiredu picked him out with a neat throughball. The U's forward was at a tight angle, but was foiled by Rushworth, getting his body in the way of the low effort.
But the U's couldn't make their pressure count, and it was the home side that got the next goal with Earing on target to make it 3-0. Otis Khan turned provider this time, with a chipped cross to the middle of the penalty area for the midfielder to head home.
And that's the way the game would finish, with the home side taking all three points.
The defeat leaves the U's in twentieth position with twenty-two points from twenty games, as Walsall move up to twelfth with twenty-eight points.
Next up for the U's, a game at the JobServe Community Stadium next Saturday where Hartlepool United are the visitors in the final home game before Christmas.
Walsall starting XI: Rushworth, White, Ward, Taylor, Kiernan (Perry 78'), Kinsella, Osadebe (Phillips 75'), Miller (Willock 87'), Earing, Khan, Menayese.
Unused subs: Rose, Leak, Mills, Sadler.
Colchester United starting XI: Turner, Chambers, Smith, Wiredu, Hannant (Dobra 67'), Skuse, Judge (McCoulsky 67'), Sears, Jasper, Tchamadeu, Daniels.
Unused subs: Gerken, Eastman, Coxe, Thomas, Cooper.