The two clubs’ battles at opposite ends of the Championship will now go to the final day of the season after their south London scrap ended in a stalemate.
The Lions needed a win to be certain of staying in the division, while a victory for out-of-form Palace would have guaranteed them a play-off spot.
It means Millwall are still hovering too close to the drop zone for comfort ahead of Saturday’s tricky trip to Derby, while the Eagles could yet slip out of the play-offs if they fail to beat Peterborough.
Millwall’s best opportunity of the first half came when Andy Keogh pulled the ball back to the edge of the area, from where Josh Wright curled inches over the crossbar.
Palace’s early-season confidence has evaporated during a nine-game winless run and Wilfried Zaha, so often their key performer, showed his frustration by kicking out at Alan Dunne.
The Manchester United-bound winger escaped with a telling-off from referee Graham Salisbury and then set up the Eagles’ first decent chance.
His low, driven cross was met by Glenn Murray six yards out but, with Danny Shittu breathing down his neck, the 30-goal striker’s effort bounced wide.
Just before the break Owen Garvan’s chip put Murray through on goal but Lions goalkeeper David Forde was off his line quickly to block.
After the break a Liam Feeney cross shaved the head of Shaun Batt and Keogh could not control the rebound, before Julian Speroni sprawled at the feet of Batt to deny the lanky striker.
Palace’s Yannick Bolasie almost conjured up a rare moment of magic with a 25-yard drive which was arrowing its way towards the top corner but Forde made a fine diving save.
But no one was able to come up with the goal which would have meant so much to one of these sides, meaning another nervy day in south London awaits at the weekend.