Town took the lead just before half-time as Sonny Bradley headed into the bottom corner from captain Alan Sheehan’s free-kick, but Millwall hit back with just over 20 minutes to play as first-half substitute Tom Bradshaw equalised for the hosts.
Connor Mahoney - who was also introduced from the bench - then fired in a shot from the edge of the box nine minutes later, before crossing for Matt Smith to score in the 81st minute.
The result leaves the Hatters 23rd in the Championship while Millwall moved into the play-off places.
Manager Graeme Jones made three changes to the starting line-up following defeat away at Bristol City on Sunday. Sheehan, Martin Cranie and Callum McManaman all started in place of Luke Bolton, Luke Berry and Harry Cornick respectively.
Town made a solid start to the game but it was the hosts who had the first shot on target. James Shea saved with ease from Smith’s header before the Hatters had a chance of their own just after 20 minutes on the clock, as Pelly-Ruddock Mpanzu fired towards goal but Bartosz Bialkowski got down low to deny him.
After some tenacious wing-play from Callum McManaman, who managed to dig out a cross, Millwall’s attempted clearance fell into the path of James Bree, who unleashed a curling effort towards goal with the outside of his right foot only for the Polish keeper to deny the Hatters once more.
Town reaped the rewards for their fine performance in the first half as they went ahead just before half-time. After Mpanzu was brought down on the left-hand-side, Sheehan produced a pin-point delivery for Bradley to head his second goal of the season into the bottom corner.
Bradley had scored the first goal of the whole EFL season live on Sky against Middlesbrough in August, and this one would be the first league goal of the new decade - again, live on TV.
Millwall came out strong in the second half and Jed Wallace immediately struck from distance, although Shea was equal to it. The Hatters keeper remained on his toes as Smith twice went close with his head before the hour mark.
The Lions went even closer in the 66th minute but Jake Cooper prevented his team drawing level on the goal-line. As a corner delivery came in, Aiden O’Brien got a flick-on at the front post but Cooper couldn’t direct the ball into the net and Town stayed resilient to defend the following corner as well.
But Millwall did manage to draw level three minutes later as substitute Bradshaw headed past Shea. Wallace crossed in from the right towards the back post where Smith flicked towards his strike-partner to level the contest.
The hosts then went in-front in the 78th minute as substitute Mahoney found the bottom corner from 20-yards out. The midfielder received the ball just past the halfway line, drove forward towards the box and unleashed a well-hit effort past Shea.
Mahoney turned provider three minutes later as Smith scored the Lions’ third goal of the afternoon, heading home from close range.
MILLWALL: Bialkowski, Hutchinson, Pearce (C) (Bradshaw 42), Cooper, Romeo, Molumby, Williams, Ferguson, Wallace (M.Wallace 84), O’Brien (Mahoney 71), Smith. Subs not used: Steele, Mitchell, Skalak, Bodvarsson
Goals: Bradshaw (69), Mahoney (78), Smith (81)
TOWN: Shea, Bree, Pearson, Bradley, Cranie, Sheehan (C) (Bolton 82), Tunnicliffe, Mpanzu, McManaman (Berry 62), LuaLua (Cornick 75), Collins. Subs not used: Stech, Shinnie, Jones, Butterfield
Goals: Bradley (41)
Referee: Stephen Martin
Attendance:12,134 (945 away fans)