Man United close gap on Arsenal, Liverpool beat Everton in derby
Marcus Rashford then fed Jesse Lingard before the 30 minute mark but the winger failed to score when he should have done better.
Palace goalkeeper Julian Speroni had to be at his best to keep out Rashford, then a fierce shot from Anthony Martial. However, he could do nothing about Darmian's 55th minute hammer which crashed in off the post to double the lead.
The Reds struck twice in the final four minutes of the first half as James Milner put the ball on a plate for Divock Origi, and then Mamadou Sakho, to head home.
The Toffees' job was made all the harder as Ramiro Funes Mori was sent off for a tackle on Origi in the 50th minute and the 10-men had no way back into the game after that.
Lucas passed to substitute Daniel Sturridge -- who came on for the injured Origi -- and the England striker slotted home the third before Philippe Coutinho put some more gloss on the scoreline with a nice finish.
West Ham United
Andy Carroll volleyed home his sixth goal in as many games to open the scoring, but then Noble was calmness personified as he struck home twice from the spot -- one on the stroke of half-time and the second in the 53rd minute.
Sebastian Prodl got one back soon after, but the sixth-placed Hammers kept up their three-point gap over Liverpool and stay three points behind Man United as Adrian saved a late penalty from Troy Deeney.
Nordin Amrabat picked up a second yellow card in the final minutes for a trip on Winston Reid