Albion looked to have snatched an unlikely victory as Kevin Campbell and Rob Earnshaw put them ahead to cancel out Andy Johnson’s goal.
But Hall cut short the celebrations with seconds remaining to leave Bryan Robson’s side five-points adrift of safety. Albion held the numerical advantage for 78 minutes after Eagles defender Gonzalo Sorondo was sent off for a professional foul on Geoff Horsfield.
After 12 minutes Palace were reduced to 10 men when central defender Sorondo was harshly given a straight red card by referee Dermot Gallagher.
Palace had few attacking opportunities but Greening produced a superb tackle on the edge of his own box to thwart Mikele Leigertwood as he prepared to shoot.
After 47 minutes The Hawthorns was stunned when a terrible misjudgment by defender Darren Purse gifted his former Birmingham team-mate Johnson his 15th goal of the season.
Palace rarely ventured out of their half but it needed Hoult to make a low save to keep out Hall’s downward header from Wayne Routledge’s corner.
Campbell brought Albion level from close range after Powell had sliced his clearance across the face of goal. Then in injury time Earnshaw looked to have won the game for Albion when he drilled home a pass from Campbell. But with a minute left Hall got a touch to a cross heading goalwards from Riihilahti.
WEST BROM: Hoult, Albrechtsen (Richardson 72), Purse, Clement, Robinson, Gera, Scimeca, Wallwork, Greening, Campbell, Horsfield (Earnshaw 55).
CRYSTAL PALACE: Kiraly, Boyce, Hall, Sorondo, Borrowdale, Routledge, Leigertwood, Hughes (Andrews 90), Soares, Freedman (Powell 13), Johnson, Powell (Riihilahti 86).
Referee: D Gallagher.