Tony Pulis' side recorded their fourth win in as many games, but the hosts' hopes of holding off Arsenal were damaged by Jason Puncheon, Scott Dann and Cameron Jerome.Everton's hopes of holding onto fourth place in the Premier League took a huge blow as Crystal Palace ran out 3-2 winers at Goodison Park.
Tony Pulis's men took the lead through Jason Puncheon midway through the first half before Scott Dann netted from a corner just after the break to give them total control of the game.
Steven Naismith tapped into an empty net on the hour to give the Toffees some hope of maintaining their lead over Arsenal, but Cameron Jerome's strike put them down and out, while giving the Eagles their fourth consecutive league win despite a late consolation for Kevin Mirallas.
The hosts - who made three changes as part of an attacking lineup, 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 looked dangerous on the break itself.
It 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.
Halftime 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 equalized when he met a dipping cross from Baines at the back post but, with 17 minutes left, Puncheon was again the architect, showing superb close control on the edge of the box before sliding the ball into Jerome, who curled it into the bottom corner.
Everton refused to lay down even then and, with four minutes to go, Barkley's through ball was deflected into the path of Mirallas, who rounded Speroni and fired home.
Despite another late chance for the Belgian forward, who misfired 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.