After their victory over West Ham on Tuesday, momentum swung back towards Arsenal in the race for fourth place in the Premier League as Everton failed to match their rivals.
The Goodison Park fans would have been expecting an eighth straight home win in the league, but Palace had not read the script, with goals from Jason Puncheon, Scott Dann and Cameron Jerome giving them only a fourth away win of the season.
Palace looked dangerous throughout a frenetic game, in which Everton never got into top gear, and they took a deserved first-half lead through the in-form Puncheon - who notched his seventh goal of the season.
The advantage was doubled shortly after half-time by Dann's powerful header before substitute Steven Naismith halved the arrears with plenty of time remaining.
But Jerome's strike after 73 minutes re-established the two-goal cushion, and although a late Kevin Mirallas strike set up a nervy finish, Everton could not find a way back.
The hosts - who made three changes as part of an attacking line-up, with Ross Barkley, Mirallas and Aiden McGeady all starting - forced the pace from the off, with Gareth Barry stooping to head over from a Leighton Baines corner in the first minute.
Palace, though, soaked up Everton's early pressure and they looked dangerous on the break themselves.
They went closest to breaking the deadlock in the opening stages when, after 20 minutes, Jerome found space unmarked in the penalty area, but his header from Joe Ledley's cross flashed narrowly over the crossbar - although the Palace striker looked to be in an offside position.
The visitors made their pressure count after 23 minutes when Tim Howard could only parry Yannick Bolasie's right-wing cross. The ball fell to Puncheon, who finished neatly from 10 yards, for his fourth goal in the last three games.
It was nearly 2-0 before the interval when a breakaway saw Bolasie hit the base of the post from 30 yards, and an unbalanced Jerome could only put the rebound wide.
Romelu Lukaku then diverted a Barkley cut-back on goal, but Julian Speroni dived smartly to push the ball wide.
Ledley forced a fine save from Howard two minutes into the second half, but from the resulting corner defender Dann's powerful downward header stunned Goodison Park as it beat the unsighted goalkeeper to double Palace's lead.
McGeady almost responded immediately when his fierce 30-yard strike bent narrowly wide of Speroni's left-hand post.
Half-time substitute Naismith did pull Everton back into the game when he converted from close range after Baines had headed a deep Mirallas cross into his path after 61 minutes.
Mirallas then nearly equalised when he met a dipping cross from Baines at the back post, but with 17 minutes left Puncheon was again the architect with superb close control on the edge of the box, sliding the ball into Jerome, who curled into the bottom corner.
Everton refused to lay down even then, and with four minutes left Barkley's throughball was deflected into the path of Mirallas, who rounded Speroni and fired home.
But despite another late chance for the Belgian forward, who mis-kicked with the goal at his mercy, Everton could not find a way back as Palace hung on to effectively end any lingering fears of relegation, and simultaneously blow the race for fourth place in the Premier League wide open.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.