A late, late goal from Andy Johnson put Palace in the top six and within a point of reaching the play-offs as battling Walsall look doomed for the drop.
Palace had all the play but had to rely on a controversial penalty to break the deadlock with just two minutes left.
Substitute Tommy Black, on the pitch for just a few minutes, was bowled over by Paul Ritchie and referee David Pugh surprisingly pointed to the spot.
Walsall surrounded the official pleading that Black fell over from the challenge and play was held up before normal service was resumed.
Johnson took the kick but his shot was too close to keeper James Walker who half-stopped the effort with a great save.
But the rebound fell straight to Johnson who made no mistake for his 31st goal of the season.
The Saddlers have now got a fight on their hands to stay up. From the start they adopted a 5-4-1 formation and it worked for 88 minutes as Palace were frustrated and running out of ideas.
On the occasions the home side were offered a few openings Walker was there as the last man with superb saves.
Neil Shipperley had two headers stopped by the brilliant keeper who also stopped Johnson's shot after the Palace hitman was put clear by Shipperley.
Palace, fourth from bottom at Christmas, had made extraordinary progress since and now need success at Coventry next week to compete in the play-offs.
Palace boss Iain Dowie said: "It was a very tense game and their formation was difficult to break down. We had our opportunities particularly in the first half but they had a good game plan.
"As for the penalty, some you get and some you don't. The lad stuck out a leg and didn't get the ball.
"But Walsall were terrific and I wish them luck next week." Walsall's caretaker-manager Paul Merson moaned: "Nothing was happening and their lad fell over. I always think that if it is touch and go you don't give it.
"My lads worked hard and I just could not see Palace breaking us down.
"Jim Walker was outstanding and he was better than some Premiership keepers."