Shane Ferguson bagged his first two goals in a Millwall shirt as Neil Harris' charges moved to within two points of the Play-Offs with a comfortable victory against Colchester United at The Den.
Lee Gregory fired The Lions ahead with his 10th goal of the season after 13 minutes and Ferguson doubled their tally with the first of his brace on 38 minutes.
Although sub Chris Porter gave the struggling U's hope when he reduced the arrears with a 55th-minute finish, further goals from Ferguson (62mins) and Byron Webster (81mins) put the result beyond doubt as Millwall extended their unbeaten run to nine games.
It proved to be a productive afternoon for the home side who took full advantage of some nervy Colchester defending to improve their 'goals for' column to +4 whilst at the same time inflicting more misery on the U's, who have now conceded 41 goals in 18 League games, the worst defensive record in the Football League.
The Ohio Northern Marching Band provided some entertainment off the field before the game and at half-time, and on the field Millwall hit the right note taking just 13 minutes to prise open the visiting defence. Tom Eastman failed to intercept a lofted forward pass and Gregory sneaked in behind him and ran through before calmly sweeping the ball past keeper Jamie Jones.
The Lions looked in rampant mood against a U's outfit that seemed devoid of confidence and cohesion.
Webster directed a header wide of the target after meeting a Ferguson corner, much to the defender's annoyance, and a neat one-two between Gregory and the irrepressible Steve Morison so nearly saw the latter in on goal, but keeper Jones came out quickly to smother the ball.
Gregory had a fabulous opportunity to grab his second goal of the game for Millwall on 29 minutes. Having latched onto George Elokobi's weak headed clearance, the striker rounded the keeper and although the angle was tight, Gregory had time to take a touch or two and fire into an empty net. However he instead opted to hit the ball first time and his shot struck the foot of the post.
More woeful defending from the visitors handed The Lions an opportunity to add a second goal seven minutes before the break, and this time there was to be no mistake in the finish.
Elokobi's torrid aftgernoon continued and when he completely lost his footing, Morison teed up Ferguson, who swept home from 10 yards out with keeper James yet again stranded as his defence went AWOL.
The U's introduced Porter for the ineffective Marvin Sordell at the break, but it was Millwall who could have claimed a third goal of the game within seven minutes of the restart when Morison's whipped cross from the right bounced off the top of the bar.
Colchester were right back in it after 55 minutes with a goal against the run of play.
The Lions were still fuming at a poor offside decision given against Gregory when the visitors struck. Callum Harriott whipped over a ball from the left, the delivery sailed beyond both Webster and Mark Beevers, landing at the feet of Joe Martin. Unfortunately the latter made a hash of trying to clear and in nipped Porter to lash home from close range.
Macauley Bonne had a great chance to provide what would have been a surprise equaliser on the hour mark, only to volley over the bar from point blank range, following Harriott’s cross.
Parity was restored, however, with another crisp finish from Ferguson who drilled home after Gregory's inch perfect 62nd-minute pass had picked him out.
Millwall were dominant against their lack-lustre opponents and the only surprise about their fourth goal was that it came as late as the 81st minute.
Captain Morison's header from a corner was blocked by keeper Jones and Webster was on hand to gleefully slam home from a central position for goal number four.
Colchester nearly grabbed a second goal of the game right at the death but Lions keeper Jordan Archer, a bystander for long spells of the game, pulled off a super save low to his right to claw away Porter's late header and in doing so put the seal on another promising team display.
Archer, Cummings, J.Martin, Beevers, Webster, Williams, Saville, Ferguson (Onyedinma, 71mins), Gregory (L.Martin, 83mins), Morison, O'Brien (Upson, 79mins). Subs not used: Forde, Nelson, Thompson, Romeo.
Williams (72mins), Saville (89mins)
Gregory (13mins), Ferguson (38, 62mins), Webster (81mins)
Jones, Edwards, Elokobi, Gilbey, Moncur, Massey, Olufemi, Eastman, Bonne, Harriott, Sordell (Porter, 46mins). Subs not used: Parish, Wright, Lapslie, Sembie-Ferris, Curtis, James.
Edwards (41mins), Gilbey (48mins), Harriott (75mins)
8,739 (away 442)