Everton's top-four hopes suffered a blow as they crashed to a surprise defeat at Goodison Park against Crystal Palace, whose Barclays Premier League survival now appears assured.

The hosts had been looking to leapfrog Arsenal into fourth place in the race for Champions League football next season, but instead they remain fifth, a point behind the Gunners, with both clubs having four more games to go.

The 3-2 reverse, Everton's first home defeat since Boxing Day and only their second all season, brought their seven-match top-flight winning streak to an end. Meanwhile, Palace's own run of victories extended to four games as they moved up to 11th place on 40 points, 10 points clear of the relegation zone, with four more fixtures left.

They deservedly went in at half-time with a 1-0 lead thanks to Jason Puncheon's strike after Tim Howard had parried a cross from Yannick Bolasie. The dangerous Bolasie then provided the corner from which Scott Dann headed past Howard four minutes after the interval.

Substitute Steven Naismith reduced the deficit with a close-range finish in the 61st minute, but Cameron Jerome restored Palace's two-goal cushion in the 73rd.

Kevin Mirallas' effort with four minutes of normal time remaining then set up a nervy finale.