Everton's top-four hopes suffered a blow as they crashed to a surprise 3-2 defeat at Goodison Park against Crystal Palace, whose Barclays Premier League survival now appears assured.
The Toffees had been looking to take the opportunity to leapfrog Arsenal into fourth place in the race for Champions League football.
But instead they remain fifth - a point behind the Gunners, with both clubs having four more games to go - after they were undone by a Palace side who were worthy victors of an absorbing contest.
The result, Everton's first home loss since Boxing Day and only their second all season, brought their seven-match top-flight winning streak to an end.
Palace's own run of victories, meanwhile, extended to four games as they moved up to 11th, on to 40 points - the total widely regarded as a guarantee of safety - and 10 points clear of the relegation zone, with four more fixtures left.
Tony Pulis' men deservedly went in at half-time with a 1-0 lead thanks to Jason Puncheon's strike from Marouane Chamakh's assist in the 23rd minute - his fourth goal in the past three matches - after Tim Howard had parried a cross from Yannick Bolasie.
The dangerous Bolasie then provided the corner from which Scott Dann sent a free header past Howard four minutes after the interval to make it 2-0.
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 which Palace managed to come through with their lead intact and another vital three points secured.
Everton looked to probe in the early stages but had little joy, with play continuing after Ross Barkley had gone down in the box in a hopeful-looking way, and Aiden McGeady then firing over from distance.
As well as doing their job at the back, Palace started to cause some problems for the their opponents going forward and following a Jerome header that went narrowly over - albeit with the flag raised for offside - they broke the deadlock.
Bolasie burst forward, got the better of Leighton Baines on the right of the Everton area and delivered a cross that Howard could only push to Chamakh, whose tee-up was turned in by Puncheon.
Five minutes later Mirallas flashed an effort just over the corner of the goalframe, but Palace continued to threaten, swiftly putting an attack together which saw Bolasie shrug off Seamus Coleman and crack a shot against the post from outside the box, with Jerome putting the rebound wide.
Everton came close to levelling with five minutes of the first half to go when Barkley did well to keep the ball in and fashioned a cut-back which Romelu Lukaku met with a swivel shot that Julian Speroni got down to palm around the post.
Palace's response in the remaining time before the interval came through their danger man Bolasie, who cut in from the left and lashed an effort over the bar.
Toffees boss Roberto Martinez threw on Naismith for Gerard Deulofeu at the break, but Palace were soon in the ascendancy again after the restart and Joe Ledley brought a save out of Howard, collecting the loose ball when Joel Ward fell in the box under the attention of Coleman and cracking it goalwards.
Seconds later it was 2-0 as Bolasie's corner was met by the unmarked Dann, who gleefully nodded the ball in.
McGeady twisted and turned before sending an effort across the face of goal as Everton sought a quick reply, and they pulled a goal back within nine minutes.
Baines met a Mirallas cross with his head and sent the ball to Naismith, who prodded it over the line.
In doing so, his knee connected with Speroni's head, but after some treatment the goalkeeper was able to continue.
Everton kept up the tempo and Mirallas put a first-time shot over from Baines' cross to the far post, before Speroni tipped an effort from substitute Leon Osman onto the bar.
But the home supporters were then stunned into silence as Jerome extended Palace's advantage, collecting the ball from Puncheon, getting away from John Stones and slotting in.
Everton pushed forward again and Speroni pulled off a decent save to deny Barkley, before Baines' effort was blocked and Osman struck wide.
The pressure paid off as Mirallas latched on to a through-ball from Barkley - which took a deflection off a Palace man - and beat Speroni.
The Toffees then desperately pushed for an equaliser, but they could not find one, with Mirallas spurning a great-looking opportunity in stoppage time.