The Hammers maintained their fine away form – the best in the Premier League – to make it four wins and a draw from five games on the road so far this season.
Carl Jenkinson expertly finished off a fine 10-pass move to give Slaven Bilic's side a 1-0 lead.
He went from hero to villain within a minute, though, bringing down Dwight Gayle for a penalty which was duly dispatched, at the second time of asking, by Yohan Cabaye.
Gayle himself went from hero to villain just before the break, two over zealous slide challenges on Dimitri Payet and Cheikhou Kouyate earning him an early bath.
The Hammers kept pressing for the win against an organised Palace side down to 10 men and were rewarded three minutes before the end.
Manuel Lanzini smashed home a loose ball six yards out before then setting up Payet for an exquisite third in stoppage time.
Adrian – 8
Didn't actually have much to do, thanks in the main to James Collins' excellent defending throughout, and the sending off of Gayle which limited the hosts' attacking intent. Got a hand to Cabaye's retaken penalty and was frustrated with himself for not pawing it away but the number one's overall kicking, distribution and the way he commanded his defence was top class.
Jenkinson – 8
Another cracking game from Arsenal loanee who now has two goals in as many games for the Hammers. Jenkinson is getting back to something like his best in a West Ham shirt after an indifferent start to the season and it showed at Palace. Despite giving away the penalty he got forward to support the attack and kept Wilfred Zaha and Yannick Bolasie quiet throughout which is no easy task. His goal, an impudent finish after a superb 10-pass move, was top drawer.
Tomkins – 7
Looked solid alongside Collins and didn't put a foot wrong. Palace had clearly targeted Collins, who was starting his first Premier League game of the season for the Hammers, and therefore Tomkins wasn't as busy as his central defensive partner, particularly after Gayle's sending off.
Collins – 9
Back in the West Ham side in the absence of Winston Reid and was clearly targeted by Alan Pardew as a potential rusty weak link. However, it only served to bring the best out of the experienced Wales international and he was given a standing ovation by the Hammers faithful at the end of the game after battling on through injury to win tackle after tackle and shackle Palace both before and after the crucial sending off.
Noble – 5
Very poor display from the West Ham skipper. His passing was off and he gave the ball away a number of times, which is very unlike him. Was replaced by Andy Carroll on the hour and the Hammers went on to win the game in his absence.
Kouyate – 8
Kouyate is so important to this West Ham team. He does so much work off the ball closing space, breaking up play and often a lot of it goes unnoticed. Has seemingly endless energy levels and his work and tidy passing were crucial at both ends of the pitch.
Moses – 7
Played well against his old club and set up Jenkinson with a fantastic through ball for the first goal. Was a real menace for the time he was on the pitch without testing the 'keeper. Started to run out of gas as he is still playing catch-up for match fitness after a lack of pre-season action at parent club Chelsea. Replaced by Zarate on 75 minutes.
Lanzini – 9 MAN OF THE MATCH
Nicknamed 'The Jewel' in his native Argentina and it is easy to see why on this showing. While Payet has deservedly been getting all the headlines for West Ham this season, Lanzini has been the surprise package. His ability, vision and pace has been first class all season but it is his work without the ball, getting stuck in, keeping the shape in midfield, breaking up play which has been just as impressive. Played a part in the 10-pass move which opened the scoring, scored the winner and set up the third. It doesn't get much better than that. Superb.
Payet – 8
Not as his absolute best but rarely gave the ball away, was always a threat and scored a world class goal to seal the three points in stoppage time, sitting Palace 'keeper Hennessey on his backside by pretending to shoot before chipping the ball over the Welshman to make it 3-1.
Sakho – 7
Pretty quiet game from Sakho but he led the line well and worked hard for the team as always. Hit the post with a header in the second half but was withdrawn just before Lanzini got the winner.
Carroll – 7
The big striker made a telling contribution coming on as a second half sub for captain Mark Noble. He headed Zarate's cross back across goal to set up the winner for Lanzini three minutes from time and found space around the edge of the box to let off a few wayward shots. Encouraging and looks like he is slowly getting sharper.
Zarate – 7
Probably the turning point for West Ham when Zarate entered the fray replacing Moses 15 minutes from time. Looked hungry, sharp and determined to make a difference as he probed the Palace defence on a number of occasions. He helped make the winner with an excellent run and cross to Carroll late one before beating three men and feeding Lanzini who then released Payet for the third.
Jelavic – 6
Was only on for the last few minutes but made a nuisance of himself and prevented Palace from clearing Carroll's cutback, paving the way for Lanzini to smash home the winner.
Subs not used: Randloph, Ogbonna, Obiang, Valencia.