Liverpool closed to within two points of second-placed Chelsea and plunged West Ham deeper into trouble.
Dirk Kuyt celebrates after putting Liverpool ahead at West Ham
Dirk Kuyt fired Liverpool ahead with a spectacular 25-yard finish only 10 seconds after half-time.
And Peter Crouch's measured drive from the edge of the penalty area doubled Liverpool's lead seven minutes later.
West Ham debut boy Kepa Blanco, on as a substitute, scored with his first touch after 76 minutes, but Liverpool survived for a deserved victory.
Liverpool were in no mood to show troubled West Ham any mercy, with Kuyt, Crouch and Craig Bellamy forming a positive attacking formation.
And they exerted almost total domination of possession against a nervous Hammers' side in the early exchanges, with keeper Roy Carroll's jittery display hardly designed to spread confidence through the home side's ranks.
606 DEBATE: Your views on the match
But it was Carroll's opposite number Pepe Reina who was in the more meaningful action, despite Liverpool showing the greater quality.
He dived well to his left to keep out Marlon Harewood's low 25-yard drive, then saved again from Yossi Benayoun after a neat exchange with Carlton Cole.
Hammers' boss Alan Curbishley will have drawn encouragement from the latter stages of the first half - but all the good work was wrecked within 10 seconds of the re-start.
Liverpool kicked off, and when Crouch laid the ball into Kuyt's path, he arrowed a 25-yard finish past Carroll into the top corner.
And Liverpool doubled the lead seven minutes later when a wonderful passage of play ended with John-Arne Riise setting up Crouch for a powerful side-foot shot that left Carroll helpless.
Liverpool were rampant and West Ham shattered - Bellamy almost adding the third with a shot that was inches off target on the turn from 12 yards.
Carroll saved West Ham from falling further behind after 63 minutes, saving a point-blank effort from Kuyt after he was played in by Bellamy.
West Ham had penalty appeals turned down with 20 minutes remaining, but Liverpool defender Riise clearly got a touch on the ball ahead of Harewood.
Curbishley made a double change, sending on Zamora and Blanco for Cole and and Harewood as time ran out.
And Spanish striker Blanco, on loan from Sevilla, scored with his first touch after 76 minutes, sliding in Zamora's cross.
West Ham manager Alan Curbishley:
"It was a real blow to lose a goal right after half-time. We have just got to win games now - it's that simple. Our season was never going to be decided by this game.
"The real disappointment is that we have been in winning positions against Fulham and Newcastle in recent weeks and didn't hold on. Four points from those and we would be out of it.
"We just can't keep a settled side either. We had to throw the back four together over the last couple of days.
"They were competing and battling away, but that first goal gave Liverpool a real lift and obviously set us right back."
Liverpool manager Rafael Benitez:
"I would prefer to be under this pressure. If we can think about the next game we will see where we are.
"We have momentum and want to be there at the end. It's a long race.
"They were two great goals from Dirk Kuyt and Peter Crouch - great play. The second from Crouch was really good because we regained the ball from deep.
"When we scored before them we could grow in confidence, so the time was important for us."
West Ham: Carroll, Spector, Dailly, Davenport, McCartney, Benayoun, Reo-Coker, Quashie, Boa Morte, Cole (Zamora 73), Harewood (Kepa 76).
Subs Not Used: Green, Pantsil, Mullins.
Goals: Kepa 77.
Liverpool: Reina, Finnan, Hyypia, Agger, Carragher, Bellamy (Gonzalez 85), Gerrard, Alonso, Riise, Kuyt (Fowler 90), Crouch (Pennant 71).
Subs Not Used: Dudek, Zenden.
Goals: Kuyt 46, Crouch 53.
Ref: M Atkinson (W Yorkshire).