In a cagey contest between fourth and fifth place in South London, the Hatters extended their league unbeaten run to nine matches with a resolute defensive performance to keep the Lions at bay and preserve an 18th clean sheet of the campaign.
Manager Rob Edwards had entrusted the same starting XI and substitutes to take on Gary Rowett's side as those who beat fierce rivals Watford last weekend.
At Kenilworth Road in February Millwall took the lead inside the first five minutes and history almost repeated himself when Oliver Burke raced onto Zian Flemming’s chipped ball over the top of the Town defence, but his touch was heavy and rolled towards the grateful Ethan Horvath to collect.
Backed by 2,599 travelling supporters in South London, the Hatters looked to gain a foothold in a cagey opening period but the home side continued to probe.
Striker Tom Bradshaw beat international team-mate Tom Lockyer for pace and was denied by Horvath on the angle, with Lockyer doing enough to knock him off his stride.
Luton had their first and best opportunity just before the half-hour mark when Alfie Doughty’s corner was cleared as far as Pelly-Ruddock Mpanzu who set the ball back to midfield partner Marvelous Nakamba.
The Aston Villa loanee crossed deep towards Elijah Adebayo, who had peeled away from the Millwall defenders, and headed across goal looking for Carlton Morris but for a crucial interception from Andreas Voglsammer before he could make contact.
In a half of few chances, Ryan Leonard tried his luck from distance but once again for Luton, USA international Horvath was equal to it with a low stop.
Much like the first period, the scrappy nature continued, and it was the home side who looked most likely to break the deadlock after the restart. Alfie Doughty was booked for a late challenge on Danny McNamara, George Saville’s resulting free-kick was headed just over by Murray Wallace.
Town grew in confidence towards the end of the match and tested George Long with just over 10 minutes remaining. Carlton Morris produced a snapshot on the angle which was beaten away by the Millwall number one, before he was quickly down at his near post to deny Doughty.
Despite chances for both sides throughout the 90 minutes, neither side were able to make the decisive breakthrough, however the Hatters did move above Middlesbrough and up into 3rd place ahead of Boro’s meeting with league leaders Burnley later in the day.
Luton Town: Horvath; Drameh, Osho, Lockyer (C), Bell, Doughty; Nakamba, Mpanzu, Campbell (Woodrow 87); Morris, Adebayo.
Subs not used: Shea, Bradley, Berry, Lansbury, Burke, Taylor.
Yellows: Doughty, Campbell
Millwall: Long; McNamara, Cooper, Hutchinson (C) (Malone 82'), Wallace; Saville, Leonard (Shackleton 88’); Flemming; Voglsammer (Esse 82'); Burke (Mitchell 83'), Bradshaw.
Subs not used: Bialkowski, Watmore, Honeyman.
Yellows: Saville
Referee: Darren England
Attendance: 18,422 (2,599 away)