Ricardo Vaz Te scored inside 10 seconds to set Barnsley on their way to a fifth win in six matches.
Former Bolton man Vaz Te drove in from the edge of the area as Keith Hill's side attacked from the kick-off.
Jermaine Easter equalised but Vaz Te added a second with 13 minutes left.
Defeat leaves Dougie Freedman's Palace side, who beat Manchester United to reach the Carling Cup semi-finals last week but are winless in seven league matches, in 13th place.
The hosts, who have recovered well after a shaky start to the season, could not have asked for a better opening at Oakwell.
Portuguese forward Vaz Te, 25, received the ball on the left from Jacob Butterfield's kick-off and thumped it past Julian Speroni from the corner of the area.
On-loan Newcastle striker Nile Ranger should have added a second when he broke clear only to shoot wide.
But Easter replied when he took advantage of Stephen Foster's weak back-header to steal in and hook the ball over Luke Steele for his fourth of the season.
Barnsley dominated the second period and were rewarded when Vaz Te responded quickest to touch in after Speroni had blocked Butterfield's drive.
The Yorkshire club move up to eighth in the Championship and are now just two points off the play-off places.
But Barnsley manager Keith Hill told BBC Radio Sheffield: "For me, more importantly it puts us 10 points clear of third bottom.
"I thought the substitute impact probably won us the game, but it's a squad game and no individual is bigger than the team."