The Lions took the lead after 18 minutes when Dave Martin's free-kick met the head of Zak Whitbread before Jason Price applied the crucial final touch to fire past Rene Gilmartin from close range.
Walsall restored parity 11 minutes later after Tony Craig failed to clear Stephen Hughes' free-kick and Jabo Ibehre drilled a low shot from 15 yards into the back of the net.
But Millwall were in front again on the stroke of half-time when Gary Alexander popped up to smash home the rebound after Marc Laird's initial shot had been pushed out by Gilmartin.
Alexander grabbed his second goal of the game nine minutes into the second half, firing past Gilmartin after Martin's header had been flicked on by Whitbread.
Walsall then suffered a further blow as Emmanuele Smith was stretchered off following several minutes of treatment after going to ground as Lions' goalkeeper David Forde came out to deal with a corner.