Goals in each half from David Mirfin and Ramon Nunez settled a real six-pointer at Selhurst Park as United closed the gap on the fourth-bottom Eagles to just three.
Palace had not lost at home since October, some 18 matches ago, while the Iron were on the verge of a club record 10th straight defeat on the road.
So the form book was well and truly ripped to pieces when centre-half Mirfin popped up with his third goal of the season and Honduran Nunez hit his first in English football.
Sean Scannell pulled one back for Palace but Dougie Freedman’s side, who would have been nine points clear of the drop zone with a victory, now face a nervous end to the season.
Iron boss Alan Knill vowed to go on the attack for what he admitted was a must-win game and he was as good as his word, his side going close to opening the scoring with just 10 seconds on the clock.
Nunez let fly from 25 yards with a dipping, curling effort which Palace keeper Julian Speroni finger-tipped over his crossbar.
Iron keeper Joe Murphy was also in the action early on with a fine diving save to deny James Vaughan, before Darren Ambrose blazed a decent opportunity over the top.
Vaughan squandered an even better chance when he controlled Neil Danns’ pass and got in between two defenders only to screw his shot wide.
And Palace were made to pay in the 25th minute when Mark Duffy swung in a corner and Mirfin got ahead of Paddy McCarthy at the far post to nod the ball past Speroni and into the net.
After the break Ambrose forced another fine save from Murphy with a free-kick – but moments later Palace were stunned when Nunez grabbed the second.
Another Duffy cross was only half-cleared and fell to the feet of the Leeds loanee, who controlled the ball with his first touch and volleyed it high into the net with his second.
Substitute Scannell pulled one back when he got in behind the United defence and rolled the ball past Murphy.
Desperate Palace ended the game with five attackers on the pitch and Vaughan was only denied an equaliser by some last-ditch defending in the six-yard box.
Both sides finished with 10 men, Joe Garner shown a second yellow card for a foul on Wilfried Zaha and Scannell following him for lunging at Andy Hughes as the pressure of the relegation battle began to show.