The hosts dominated the early exchanges and deservedly went ahead in the ninth minute via Romelu Lukaku from Leon Osman’s pass.
But Palace gradually came into the game and equalised through Mile Jedinak on the half-hour mark after Tim Howard had brought down James McArthur in the box.
Yannick Bolasie hit the woodwork shortly before the break before Howard then mis-judged a cross from Martin Kelly to allow Frazier Campbell to head Palace’s second from close range on 54 minutes.
Bolasie slotted home Jason Puncheon’s pass on 69 minutes to further extend the visitors’ lead but Leighton Baines reduced the arrears on 83 minutes from the penalty spot after Scott Dann brought down Osman to set up a grandstand finish.
However, Julian Speroni pulled off a string of saves as the Eagles held on for a vital win, while the final whistle brought a juddering halt to the hosts’ recent revival and left them stuck on five points from as many Premier League games.
Bolasie’s heroics sealed another fine day for Palace in the blue half of Merseyside after a 3-2 win in April eased relegation fears under old boss Tony Pulis.
Now managed by Neil Warnock, the Eagles were under the cosh early on from Everton, who had handed a full debut to veteran striker Samuel Eto’o.
The Cameroonian had the first shot on target in the sixth minute, then Christian Atsu shot into the side netting before Lukaku opened the scoring in the ninth minute.
Osman’s neat lay-off on the edge of the box sent the Belgian barging through and he finished with aplomb low to the right of helpless Palace keeper Speroni.
Lukaku should have had a second four minutes later when he was served up a fine chance in front of goal by Eto’o following a Baines’ corner from the right, but the striker completely mis-kicked.
Palace barely surfaced in the first half hour but moments after Osman had shot straight at Speroni they seized their chance to draw level when Howard fouled McArthur in the box and referee Michael Oliver pointed to the spot.
Jedinak stepped up to fire the ball confidently past Howard and give Warnock’s men a sudden foot-hold in the game that had earlier threatened to pass them by.
The goal swung the momentum in Palace’s direction and they almost seized the lead five minutes before the break when Bolasie’s deflected effort struck Howard’s crossbar.
Palace kept pushing at the start of the second half and they went ahead on 54 minutes when Howard flapped terribly at Kelly’s cross from the right allowing Campbell to get just enough power on the ball to flop it over the line.
Lukaku and Gareth Barry missed chances to draw level but it got worse for the hosts in the 69th minute when Puncheon nicked the ball off Osman and played a perfect low ball to the unmarked Bolasie to stroke home.
Substitute Steven Naismith missed a chance to immediately reduce the deficit as he failed to get the vital touch to a Kevin Mirallas cross, then Dann made a vital interception to deny Lukaku and an Osman effort through a crowd of players was saved by the unsighted Speroni.
Baines set up a frantic finale when he swept home a penalty seven minutes from time after Dann had brought down McCarthy in the box.
Jagielka dribbled an effort inches wide and Lukaku scythed an 88th-minute effort across the face of goal as Palace waded through six minutes of injury time to secure the points.