Scunthorpe gave themselves renewed hope of beating the drop as they won at Crystal Palace and closed the gap to three points on their beaten opponents.
David Mirfin headed in at the far post to put Scunthorpe ahead before Ramon Nunez fired in a second for the Iron.
Sean Scannell pulled one back for Palace when he rolled in a shot.
Palace tried in vain to level, while Scunthorpe's Joe Garner was sent-off for receiving two bookings and Scannell saw red for lunging at Andy Hughes.
The home side had finished the match with five attackers on the pitch but they failed to salvage anything from the match.
And, instead of earning a win to move themselves well clear of the drop zone, they finished with a defeat which leaves them just three points above third-from-bottom Scunthorpe.
The visitors were on the verge of a club record 10th straight defeat on the road ahead of the game, with Palace having not lost in 18 matches at home.
But the game did not follow the form guide with the Iron making good on manager Alan Knill's pledge beforehand and attacking to earn the victory that keeps their survival hopes alive.
Nunez had a dipping 25 yard shot saved by Palace keeper Julian Speroni, while Scunthorpe stopper Joe Murphy denied James Vaughan.
Darren Ambrose blazed a decent opportunity over the top for the Eagles before Vaughan squandered an even better chance by shooting wide.
The miss was punished when Mirfin scored and compounded when Palace could only clear to Nunez, who added to Scunthorpe's lead.
Scannell gave Palace hope in a desperate finale, which resulted in the two dismissals before the final whistle.