The much-changed hosts showed plenty to encourage supporters after a busy transfer window, but Palace dug deep and did enough to win the first London derby of the 2018-19 season.
Fulham controlled large parts of the match and crafted several chances in the first half, though they were not as clinical as their visitors, who broke the deadlock in the 41st minute through Schlupp.
And, while the home side might argue they should have been given a second-half penalty, Palace produced a professional display to begin the season in victorious fashion, finishing Fulham off 10 minutes from time.
Slavisa Jokanovic named seven new signings in his starting XI, but Fulham certainly did not suffer from a lack of coherence, taking control early and nearly going ahead in the fourth minute when Wayne Hennessey tipped Cyrus Christie's effort around the post.
The Welsh goalkeeper had to be alert again nine minutes later, making an even better save as Aleksandar Mitrovic received Andre Schurrle's cut-back and fired goalwards.
But Palace weathered the storm and took the lead just before the break – Schlupp blasting past Fabri at his near post after being released into the left side of the area.
Fulham remained in charge after the break and had a penalty shout turned down in the 60th minute, Mamadou Sakho escaping punishment despite appearing to trip Schurrle in the box.
And Palace capitalised on that let-off in the 80th minute - Zaha racing on to Aaron Wan-Bissaka's clever throughball, skipping past Fabri and rolling the ball into the net to wrap things up for Roy Hodgson.
What it means: Familiarity key for Fulham
Jokanovic made a total of 12 signings in pre-season, with seven of those featuring from the start on Saturday.
While there were promising signs, it is impossible to have such an influx of new faces and see everything go perfectly from the start.
As long as Fulham gel effectively, they will be absolutely fine, but allowing the players to get familiar with a particular set-up and ideal XI is arguably vital.
Pat on the back: Safe-hands Hennessey
Fulham began the contest in impressive fashion and caused Palace numerous problems, but Hennessey was assuring between the posts, making a couple of smart early stops. Even when the hosts were in charge, it always looked as though it was going to take something special to beat the Wales international.
Boot up the backside: Not so Fab-ri
One of two goalkeepers brought in by Fulham in pre-season, Fabri got the nod but did not cover himself in glory. He was beaten at his near post by Schlupp and rarely looked convincing, presenting Christian Benteke with an opportunity – which he wasted – in the second half. Sergio Rico might fancy his chances of taking his compatriot's place.
Key Opta stats:
- This was only the third time in 10 Premier League campaigns that Crystal Palace have won their opening match, with all of those victories coming away from home (versus Everton in 1997-98 and Norwich in 2015-16).
- This was Fulham's first league defeat at Craven Cottage since October 2017 (0-2 vs Bristol City), ending a run of 15 without loss at home (W12 D3).
- Fulham have won just 25 of their 119 Premier League London derbies (21 per cent), the lowest win rate in such matches in the competition.
- Wilfried Zaha's strike was his 23rd in the Premier League for Crystal Palace – no player has scored more for the club in the competition (level with Chris Armstrong).
- Jeffrey Schlupp scored his first Premier League goal for Crystal Palace, and first in 1043 days in the competition since netting for Leicester against Norwich in October 2015.
23 - Wilfried Zaha's goal was his 23rd for Crystal Palace in the Premier League - no player has more for the club in the competition (level with Chris Armstrong). Influential. pic.twitter.com/CdZxSqcLLK— OptaJoe (@OptaJoe) August 11, 2018
Fulham's first away trip of the season next Saturday sees them make the relatively short journey to another London side in Tottenham. As for Palace, they get a home visit of Liverpool out of the way nice and early in the campaign.