The much-changed host 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/2019 season, Zaha equalling the Eagles' Premier League all-time scoring record in the process with his 23rd goal in the top flight for the club.
Fulham controlled large parts of the match and crafted several chances in the first half, but it was not as clinical as the visitors, who broke the deadlock in the 41st minute through Schlupp.
While the home side might argue it 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 Wales 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 towards goal.
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.
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, and levelling Chris Armstrong's 23-year-old goal-scoring record.
Fulham's first away trip of the season next weekend sees it make the relatively short journey to another London side in Tottenham Hotspur.
As for Palace, it gets a home visit of Liverpool out of the way nice and early in the campaign.