Manuel Lanzini scored the only goal of the game, opening his body up to side-foot coolly into the back of the net from Aaron Cresswell's pinpoint cross in the 19th minute. Christian Benteke missed several chances to save at least a point for Palace (3-2-3), including one from the penalty spot at the end of the first half.
The Hammers (2-1-5) lined up in a new-look formation with three central defenders and Palace came close to exploiting that in the first 10 minutes, but an unmarked Wilfried Zaha pulled a shot wide from inside the box.
West Ham certainly enjoyed the better of the first 20 minutes and got their reward when Dimitri Payet and Cresswell combined before the latter crossed for Lanzini to slide the opener past Steve Mandanda.
Despite being outplayed in the first period, Palace should have been on level terms just before the break but Benteke blasted wide from 12 yards after Angelo Ogbonna had fouled him in the box. There was still time for the big Belgian to smash a header into the woodwork before referee Martin Atkinson blew for the interval.
Atkinson was to become a central character in the second half; with 15 minutes to go as he turned down a solid-looking penalty appeal for West Ham, booking Cresswell for simulation in the process. Barely a minute later the left-back was in for an early bath after being issued a controversial second yellow card for an innocuous-looking challenge on Zaha.