Ian Westlake scored his first goal in four months to earn Ipswich some much-needed late festive cheer and condemn Luton to another miserable away day.
Westlake's second of the season on 69 minutes was enough to earn Ipswich their first points of the Christmas period after 2-0 defeats to Crystal Palace and Hull.
Luton were denied by a fine performance from stand-in goalkeeper Shane Supple, while referee Andy D'Urso disallowed a late Steve Howard header as their three-month run without a win on the road continued.
The first half was a forgettable affair with Luton having the better of the possession but Ipswich creating the best chance.
Supple made a good low save to deny Warren Feeney, who then inexplicably tried to lay the ball off to strike partner Rowan Vine from Kevin Foley's cross rather than shoot from six yards.
Ipswich should have scored on 38 minutes when Fabian Wilnis' early ball over the top freed Dean Bowditch, but he fired straight at Marlon Beresford before scooping the loose ball over the top after it had been played back in by Danny Haynes.
Luton skipper Kevin Nicholls then shot wide from just inside the box before a long Supple punt freed Bowditch again but he shot weakly at Beresford.
As the half closed, Luton broke quickly and the ball rebounded kindly for Ahmet Brkovic to accelerate away towards goal but he lifted his shot well over from 20 yards.
Supple made another fine save to open the second half, diving to palm around a Steve Robinson header from a quick free-kick by Nicholls.
Ipswich missed a great chance on 53 minutes when Darren Currie's cross saw Haynes head to Bowditch who returned the favour only for Haynes to fire straight at Beresford and then lash the rebound over.
Robinson sent a snap-shot wide before a quiet period of play ended with a thunderous 25-yard drive from Paul Underwood being superbly turned around the post by Supple.
Ipswich went ahead midway through the half when Currie fired a cross-field free-kick which sailed over Foley's head for Westlake to chest down on the touchline and race into the box before lashing a shot hard and low past Beresford.
Luton thought they had equalised on 76 minutes when substitute Howard stooped to head home Nicholls' corner from close range but the whistle had already gone for a push by one of his team-mates.
Substitute Enoch Showunmi fired wide after racing across the pitch from the touchline and then in stoppage time Howard twice had headed chances which caused palpitations in the home crowd.