Michail Antonio scored for the second successive game as West Ham edged struggling West Brom to move up to seventh in the Premier League.
The hosts took the lead on the stroke of half-time when Jarrod Bowen chested in Vladimir Coufal’s cross.
However, West Brom levelled soon after the restart through Matheus Pereira’s thunderous drive from distance.
Dara O’Shea blocked Manuel Lanzini’s goalbound shot but Antonio gave West Ham the win with a hooked finish.
From then on, West Ham looked comfortable without threatening to add to their lead as they claimed a third Premier League win in a row.
Defeat for West Brom, meanwhile, leaves them 19th, five points from safety.
Antonio underlines importance to West Ham
Antonio has endured an injury-hit campaign and his start against Burnley at the weekend was his first since November.
But the striker made up for lost time by getting the decisive goal in that game and, despite concerns over how he would cope with starting a second game in three days, he was once again the match-winner against the Baggies.
Antonio is a deadly finisher inside the box, with all 41 of his Premier League goals having been scored inside the penalty area and he is integral to how David Moyes wants his West Ham side to play.
They have become a defensively more solid side under the Scot – with West Brom’s goal the first the Hammers have conceded in their past five games in all competitions – but they are also winning games by narrow margins, underlining the need for a player of Antonio’s quality.
Moyes is looking to sign a striker in the January transfer window but keeping Antonio injury free for the remainder of the season will arguably be more important to West Ham’s ambitions.
Another defeat, but some hope for Baggies
West Brom boss Sam Allardyce has forged a reputation for leading seemingly doomed teams away from relegation trouble but when he took over at the Baggies on 16 December, it looked like this would be a task too far.
They had won just one of their first 13 matches before Allardyce’s arrival and lost three of his first four games in charge, conceding 13 goals and scoring just one in the process.
But a hugely impressive 3-2 victory at Wolves on Saturday has given Baggies fans hope that fortunes are starting to turn and although this game ended in defeat, there were signs of encouragement.
In a match of few chances for either side West Brom often looked a threat on the counter and could have snatched a point with more composure from Darnell Furlong, who flashed a volley wide in injury time.
West Ham are in FA Cup action as they host Doncaster in the fourth round on Saturday, 23 January (15:00 GMT). West Brom’s next fixture sees them host Manchester City in the Premier League on Tuesday, 26 January (20:15).
How to play
Rate players out of 10 throughout or after the game. The rater will close 30 minutes after the final whistle.
Rating range key = Give it up = Pure perfection
West Ham United
West Bromwich Albion
- 10LanziniSubstituted forFornalsat 62′minutes
- 9BenrahmaSubstituted forYarmolenkoat 62′minutes
- 30AntonioSubstituted forNobleat 84′minutes
- 18GallagherBooked at 90mins
- 8LivermoreSubstituted forRobson-Kanuat 80′minutes
- 13GrosickiSubstituted forFurlongat 70′minutes
- 12Costa Pereira
Match ends, West Ham United 2, West Bromwich Albion 1.
Second Half ends, West Ham United 2, West Bromwich Albion 1.
Foul by Angelo Ogbonna (West Ham United).
Hal Robson-Kanu (West Bromwich Albion) wins a free kick in the defensive half.
Conor Gallagher (West Bromwich Albion) is shown the yellow card.
Conor Gallagher (West Bromwich Albion) has gone down, but the referee deems it simulation.
Foul by Vladimir Coufal (West Ham United).
Callum Robinson (West Bromwich Albion) wins a free kick on the left wing.
Foul by Craig Dawson (West Ham United).
Hal Robson-Kanu (West Bromwich Albion) wins a free kick on the left wing.
Craig Dawson (West Ham United) wins a free kick in the defensive half.
Foul by Hal Robson-Kanu (West Bromwich Albion).
Attempt missed. Darnell Furlong (West Bromwich Albion) left footed shot from the centre of the box misses to the left. Assisted by Kieran Gibbs with a cross.
Aaron Cresswell (West Ham United) wins a free kick in the defensive half.
Foul by Hal Robson-Kanu (West Bromwich Albion).
Substitution, West Ham United. Mark Noble replaces Michail Antonio.
Attempt missed. Michail Antonio (West Ham United) right footed shot from outside the box is high and wide to the right. Assisted by Tomas Soucek.
Substitution, West Bromwich Albion. Hal Robson-Kanu replaces Jake Livermore.
Attempt missed. Matheus Pereira (West Bromwich Albion) left footed shot from outside the box is high and wide to the left.
Attempt saved. Conor Gallagher (West Bromwich Albion) right footed shot from the centre of the box is saved in the centre of the goal. Assisted by Kieran Gibbs with a headed pass.