West Ham 3 Crystal Palace 2: Hosts' comeback makes it three in a row

West Ham stormed back from behind to beat Crystal Palace 3-2 in a thrilling contest and win a third straight Premier League game for the first time in two years.

James McArthur had put Palace ahead after just six minutes with his second goal in three games.

But Robert Snodgrass' impressive equaliser – his first Premier League goal for 705 days – changed the momentum just after half-time, with Javier Hernandez and Felipe Anderson then striking to wrap up a 17-minute blitz.

Manuel Pellegrini's men held on for a dramatic victory despite a late reply from Palace substitute Jeffrey Schlupp, moving into the top 10 as a result, as struggling Palace, who have one win in 11 top-flight games, slipped to 16th.

Hernandez's scuffed finish failed to beat Wayne Hennessey from an excellent early opportunity, and West Ham rued that when Palace went straight up the other end to strike.

Patrick van Aanholt's free-kick was flicked on by James Tomkins and indecisive keeper Lukasz Fabianski was beaten to it by McArthur who, left in oceans of space by the home defence, prodded in from six yards.

West Ham had more of the play for the rest of the half, but almost fell two behind moments before the break when Luka Milivojevic curled a 25-yard free-kick against the crossbar.

Andy Carroll replaced Lucas Perez at the break, but it was Snodgrass who struck within three minutes of the restart, sending a dipping 20-yard strike inside Hennessey's near post.

And the turnaround was complete after 62 minutes, Hernandez reacting sharply to fire in a left-footed strike after Felipe Anderson's free-kick was only parried by Hennessey.

With West Ham's next attack, Felipe Anderson scored his fifth goal in six games, curling a stunning strike into the far corner from the edge of the area, having been found by Hernandez.

Hernandez then fired inches wide, and Schlupp ensured a nervous ending by heading in Max Meyer's cross with 14 minutes left, but the Hammers held on.