© Getty Images
Palace were dealt a blow before a ball was even kicked when Joe Ledley, who was named in the original starting XI, picked up a injury during the warm-up and was replaced in the team by Stuart O'Keefe.
However, when his teammates made forward runs beyond him, Cole found them and his cushioned header fell into the path of Cresswell in the 24th minute, but the left-back's shot was deflected wide.
The chance seemed to spark the visitors into life and two minutes later Mauro Zarate found himself free at a corner, but his effort fell straight into the grateful arms of Speroni.
With the away side in the ascendancy, Zarate got the goal that the Hammers deserved in the 34th minute. After Mark Noble's initial shot was blocked, the Argentine sent a 20-yard strike arrowing into the bottom corner to make it 1-0.
Just three minutes later, Stewart Downing doubled their lead with a controlled finish into the far corner following a surge across the box.