Crystal Palace's Michy Batshuayi scored a late equaliser to dent Everton's Champions League qualification hopes.
The substitute latched on to Jeffrey Schlupp's pass and placed the ball beyond Robin Olsen into the bottom corner after 86 minutes.
Returning from injury, Everton's James Rodriguez had given the Toffees a deserved lead with a superb right-footed strike in the 56th minute.
The result all but guarantees safety for Palace, who are 12 points clear of the bottom three with eight games remaining.
Everton are four points off fourth-placed Chelsea, having played one game fewer.
Everton stumble in top-four race
After top-four rivals Chelsea, Leicester and Tottenham all dropped points over the weekend, the door was open for Everton to continue their push for Champions League qualification.
But Carlo Ancelotti's side have struggled at Goodison Park this season with only the bottom five having a worse home record than the Merseysiders.
Palace keeper Vicente Guaita made a flurry of fine stops, standing tall to keep out Dominic Calvert-Lewin and denying Richarlison with fine first-half saves.
Rodriguez, who had been sidelined with a calf injury for the past six weeks, showed a calmness in front of goal, squeezing in the game's opener at the near post.
Victory would have taken Everton to within two points of fourth place, but a lapse in concentration allowed Batshuayi to race through and net the leveller.
Richarlison forced Guaita into another fine save as the Toffees pushed for a winner in the closing stages, but Palace held on to frustrate the hosts.
Substance over style gives Palace another point
Having now collected 38 points this season, only the most pessimistic of supporters will argue that Palace don't already have enough to stay in the Premier League for a ninth successive season.
Manager Roy Hodgson has always seen survival as his primary target, but with the 73-year-old yet to extend his contract beyond the end of the season, the Eagles' substance over style approach has been well reported.
Hodgson named an unchanged starting XI, with his side sitting back, looking to hit their hosts on the break.
Eberechi Eze and Wilfried Zaha - who again opted to stand rather than take a knee - had half chances as the visitors looked second best for most of the fixture.
Batshuayi came on for Christian Benteke in the 84th minute and within two minutes levelled the match against the run of play.
His goal means Palace are just four wins away from reaching their highest ever Premier League points tally, legitimising their cautious approach.
Everton's home woes - the stats
Everton have registered just one win in their past eight home league games (D2 L5), after winning four of the seven before that.
Crystal Palace have suffered just one defeat in their past six Premier League games (W2 D3) after losing four of the preceding six.
Everton mustered 15 shots in the game, only managing more in a league game this season once before, 17 against West Brom in September.
James Rodriguez has been directly involved in 12 goals in 14 home games in all competitions for Everton this season - five goals and seven assists.
Rodriguez is the fifth Colombian to hit 10 or more Premier League goal involvements in a single season, after Faustino Asprilla, Hamilton Ricard, Juan Pablo Angel and Hugo Rodallega.
Of all players to have scored at least 15 Premier League goals, Crystal Palace striker Michy Batshuayi has netted the highest proportion of them as a substitute with nine out of 15.
What's next?
Crystal Palace host Chelsea in a London derby on Saturday (17:30 BST), before Everton travel to Brighton in the Premier League next Monday (20:15).