Milan Lalkovic's first-half strike sent Walsall to the top of the League One table and ensured that there was little festive cheer for Millwall, who were condemned to a third successive home defeat at The Den.
Lalkovic's 29th-minute strike proved enough to take all three points, although The Lions were desperately unlucky not to have taken a share of the spoils as they put a below-par first-half display behind them to really put in a spirited show after the break.
Sub Alfie Pavey hit the woodwork and The Lions twice had penalty appeals turned down in a frantic final 15 minutes, but it was Sean O'Driscoll's slick Saddlers who held out for a win that takes them top of the pile ahead of Burton.
Manager Neil Harris, with one eye on Monday's trip to Southend United, made five changes to the team that started against Gillingham.
Goalkeeper David Forde came in for Jordan Archer, who was suspended, to make his first League One start since 18th August, whilst centre half Sid Nelson returned to the heart of defence in place of Byron Webster.
Shane Ferguson and Fred Onyedinma filled the left and right flanks respectively, whilst midfielder Jimmy Abdou made a welcome return following a 10-week absence with a shoulder injury. Aiden O'Brien moved up front to partner Steve Morison in attack after striker Lee Gregory failed a late fitness test.
Walsall started in confident mood and kept possession well in the opening quarter of an hour to the frustration of the home fans.
The first shot of the game came from Walsall's George Evans, who blasted over the bar from 30 yards whilst at the other end, Onyedinma's tantalising cross-shot was spilled by keeper Neil Etheridge, but unfortunately there was no one on hand to steer the ball home.
Lions keeper Forde was called into action on 10 minutes, smartly stopping a header from O'Connor after the defender had stolen a yard clear at a corner and directed a header towards goal.
However it took a highly contentious decision by the linesman to fire The Lions players and crowd into life, keeping his flag down when Lalkovic was clearly offside as he raced into the Millwall half. Thankfully the attack broke down, but the volume from the home crowd cranked up and the team responded and went on to enjoy their best spell of.
A long forward punt from Mark Beevers was expertly headed back into the arms of keeper Etheridge by Downing and then Morison fired into the sidenetting after Onydeinma's 21st-minute delivery from the right had picked out his team-mate at the back post.
O'Brien tested Etheridge three minutes later with an angled drive, but the keeper did well to push his stinging effort over for another corner.
The Lions' 10-minute purple patch came to an abrupt halt and they had the wind knocked out of their sails just before the half-hour mark. A long punt from the back was misread by the unfortunate Nelson and Lalkovic nipped in to take full advantage, calmly taking the ball forward and despatching a low shot beyond the reach of Forde.
Walsall really had their tails up now and it could have been even worse for Millwall three minutes before the break. Another crisp, quick, slick counter-attack by the Saddlers saw Anthony Forde slip the ball through to Romaine Sawyers and he in turn cut the ball back to Lalkovic, who contrived to side foot over from eight yards.
A much improved performance from The Lions saw Harris' charges begin to find their attacking rhythm after the break, and the home side got stronger as the half wore on.
Millwall were a whisker away from levelling seven minutes after the restart but were denied by a brilliant save by Etheridge. Morison was the provider, working an opening superbly on the right and slipping the ball though to O'Brien whose snap shot from close range was turned behind for a corner.
A surging run from Onyedinma came to an abrupt halt as he was about to pull the trigger thanks to an impeccably timed tackle from James O'Connor as The Lions began to build up a head of steam.
Ed Upson entered the fray with 22 minutes remaining and was soon in the thick of the action, despatching a teasing delivery that caused panic in the visiting defence, who eventually cleared.
O'Brien and Williams both had efforts blocked by a resilient Saddlers rearguard before Millwall went for broke in the last quarter of an hour.
Left-back Joe Martin made way for Alfie Pavey and Millwall really gave it a go in a bid to grab an equaliser.
The Lions had a penalty appeal turned down following a goalmouth scramble when it appeared as if Abdou was sent tumbling and as the home side kept the pressure on, O'Brien's header from a Ferguson cross hit the woodwork to deny Millwall a leveller.
However Walsall continued to look a threat on the break, and a magnificent last-ditch tackle by Beevers nicked the ball off the feet of Jordan Cook on the edge of the penalty area.
Millwall were again frustrated by the officials in injury-time; on this occasion sub Pavey looked to have been nudged in the back as he prepared to shoot, ended up on the deck but the referee waved away a loud shout for a spot-kick.
Skipper Morison was so close to grabbing the goal that Millwall deserved with seconds remaining, only to see his header from a Ferguson corner acrobatically saved by Etheridge.
Walsall's rearguard stood firm under the second-half onslaught and The Lions now have to pick themselves up for a quick turn around with a trip to Southend United in just 48 hours.
Millwall: Forde, Edwards, Martin (Pavey, 75mins), Nelson, Beevers, Abdou, Williams, Ferguson, O'Brien, Morison, Onyedinma (Upson, 68mins). Subs not used: King, Cummings, Webster, Saville, Thompson.
Booking: Upson (80mins)
Etheridge, Demtriou, Taylor (Kinsella, 46mins), O'Connor, Downing, Chambers, Sawyers, Forde, Lalkovic (Preston, 88mins), Morris (Cook, 71mins), Evans. Subs not used: Roberts, Mantom, Baxendale, Flanagan.
Lalkovic (46mins), Evans (52mins)
8,364 (away 248)