Walsall failed to make the most of their chances against a Millwall team they had previously beaten twice in the league this season.
With Tommy Mooney sidelined before kick-off and Michael Ricketts having to go off injured after 36 minutes, the Saddlers were left to play much of the game with the makeshift striking partnership of Alex Nicholls and Troy Deeney.
The pair tried in vain to break down the excellent central defensive partnership of Paul Robinson and Zak Whitbread.
Even then the home side carved plenty of chances, with Nicholls running clear from a fifth-minute pass by Ishmel Demontagnac only to be caught by a desperate challenge for which Walsall appealed unsuccessfully for a penalty.
Nicholls had a 20th minute shot from the edge of the box saved by keeper Lenny Pidgeley, but the best stop of the match came ten minutes earlier when home keeper Clayton Ince kept out a powerful shot from the dangerous Jay Simpson.
Walsall's young team put a lot of pressure on the visitors' defence in the second half, but still a breakthrough wouldn't come.
Seconds after the restart, a cracking run by Nicholls finished with the youngster drawing a first-class save from Pidgeley, who was easily the hardest worked of the two keepers.
Scott Dann headed down a 66th minute free-kick by Daniel Fox to provide a great chance for Deeney, whose volley was blocked.
Things turned ugly towards the end of the match with Millwall's Ali Fuseini becoming one of six players in total to be booked for a 77th minute foul on Darren Wrack that some thought looked more like a sending off offence.
Wrack struck back four minutes later with a foul on Fuseini which brought a booking for the Walsall midfielder and Millwall skipper Robinson was also shown a yellow card in the furore that followed.
In the closing minutes, Deaney had another chance from a through ball by the outstanding Rhys Weston but his shot was wide.