Kevin Nolan headed the winning goal as West Ham overcame struggling Coventry to move level on points with Championship leaders Southampton.
Nolan scored on 66 minutes after a George McCartney cross was headed back across goal by James Tomkins.
Coventry goalkeeper Joe Murphy pushed Sam Baldock's shot onto the bar while Mark Noble missed an open goal.
The Sky Blues' Lukas Jutkiewicz headed wide and near the end Carl Baker's deflected shot hit the bar.
It was only the Hammers' second win in six attempts but they are now only being kept off top spot on goal difference by the Saints, who were beaten 3-0 at Brighton.
The visitors created the first opportunity when Gary McSheffrey crossed towards Chris Hussey, whose first-time shot flew narrowly wide.
West Ham were denied by Murphy twice in quick succession, saving from Nolan with his feet and, from the ensuing corner, keeping out Jack Collison's snap-shot.
The hosts were dominating but City were dangerous on the break and Jutkiewicz should have done better with a free header from a Gary Deegan cross that he nodded wide.
At the other end Julien Faubert's volley flew wide and Papa Bouba Diop's header was deflected clear before the interval.
Early in the second half Jutkiewicz squandered another good chance after Faubert made a hash of his clearance.
Jutkiewicz had more time than he realised in the penalty area and headed the ball meekly over the top when he could have allowed the ball to drop to give himself the chance of a shot.
But the City goal was leading a charmed life, with Tomkins heading Noble's corner wide and Baldock also off target from Carlton Cole's cross.
Murphy then produced two stunning saves to force Baldock's shot onto the underside of the crossbar and then palm away a powerful header from Collison.
The loose ball fell to Tomkins but the defender skewed his shot into the ground and it bounced over the top.
The breakthrough eventually came when Tomkins beat Hussey in the air to head McCartney's cross back across goal where Nolan was on hand to nod it past Murphy.
It should have been two minutes before the end after Richard Wood under-hit a backpass but Murphy saved well from Frank Nouble and Noble put the rebound wide with the goal gaping.
And the Hammers' hearts were in their mouths when Baker's shot was deflected onto the crossbar as the hosts survived a nervy ending.
West Ham boss Sam Allardyce: "We were all relieved when we saw it go in because we were all wondering whether it was going to happen for us or not on the basis of how many chances we created and how good their keeper was.
"We've played, very, very well today and the only thing I can criticise the lads for is not winning by more goals. Everything else was fantastic.
"Without a doubt the suspended players being back made all the difference because we saw the quality and how we controlled the game and how often we persisted in pressurising Coventry who finally cracked in the end."
Coventry boss Andy Thorn: "I thought the boys gave me everything. We stuck in there but towards the end it was disappointing to concede the goal, an appalling goal from our point of view.
"But I can't ask for any more effort from them because they were excellent and we could even have nicked something at the end. I thought we finished strongly.
"We stood up to them well and then as it went on I thought we got stronger and we started getting our own chances - and I thought one of them could have gone in for us.
"West Ham are going to be up there. They're well organised and well managed but I was a little bit disappointed that we didn't get anything."
West Ham United
- 01 Green
- 02 Reid
- 03 McCartney
- 05 Tomkins
- 18 Faubert
- 04 Nolan
- 10 Collison
- 16 Noble
- 21 Diop
- 07 Baldock (Nouble - 73' )
- 09 Cole (O'Brien - 90' )
- 31 Boffin
- 17 O'Brien
- 22 Lansbury
- 11 Carew
- 24 Nouble
- 01 Murphy
- 02 Keogh
- 03 Hussey
- 15 Cranie
- 24 Wood
- 07 Bell (Bigirimana - 67' )
- 08 Baker
- 12 Deegan Booked
- 32 Thomas
- 09 Jutkiew'z (Jeffers - 69' )
- 11 McSheffrey
- 13 Dunn
- 06 McPake
- 37 Willis
- 34 Bigirimana
- 27 Jeffers
Live Text Commentary
Substitution (West Ham) makes a substitution, with Joey O'Brien coming on for Carlton Cole.90:00 +2:14 Full time
Full Time The referee blows his whistle to end the game.90:00 +1:43
Gary Deegan takes a shot. Blocked by James Tomkins.90:00 +0:51
Inswinging corner taken left-footed by Gary McSheffrey, clearance by Papa Bouba Diop.90:00 +0:23
Outswinging corner taken from the left by-line by Gary McSheffrey.88:51
Carl Baker takes a shot. James Tomkins gets a block in. Corner taken left-footed by Gary McSheffrey.86:23
Headed effort from inside the area by Shaun Jeffers misses to the right of the target.83:21
George McCartney challenges Gael Bigirimana unfairly and gives away a free kick. Conor Thomas takes the direct free kick.82:29
Corner taken left-footed by Gary McSheffrey, Robert Green makes a comfortable save.82:11
Carlton Cole is caught offside. Joe Murphy takes the free kick.82:02
Shaun Jeffers is flagged offside by the assistant referee. Robert Green takes the free kick.81:10
Frank Nouble takes a shot. Save by Joe Murphy. Effort from the edge of the area by Mark Noble goes wide of the left-hand upright.78:45
Carlton Cole is caught offside. Free kick taken by Martin Cranie.77:41
Frank Nouble takes a shot. Joe Murphy makes a save. Inswinging corner taken by Mark Noble, clearance by Richard Wood.76:12
Free kick awarded for an unfair challenge on Julien Faubert by Gary McSheffrey. Free kick crossed by Mark Noble, clearance made by Richard Keogh.72:27 Substitution
Substitution Frank Nouble joins the action as a substitute, replacing Sam Baldock.71:15
Free kick awarded for a foul by Carlton Cole on Richard Keogh. Joe Murphy takes the direct free kick.70:45
George McCartney takes the free kick.70:45 Booking
Booking Gary Deegan receives a caution.70:04
Mark Noble fouled by Gary Deegan, the ref awards a free kick.
Substitution Lukas Jutkiewicz goes off and Shaun Jeffers comes on.67:56
Carlton Cole challenges Gary Deegan unfairly and gives away a free kick. Richard Keogh takes the free kick.66:48 Substitution
Substitution (Coventry) makes a substitution, with Gael Bigirimana coming on for David Bell.65:37 Goal scored
Goal! - Kevin Nolan - West Ham 1 - 0 Coventry Kevin Nolan grabs a headed goal from close range. West Ham 1-0 Coventry.64:36
David Bell fouled by Carlton Cole, the ref awards a free kick. Free kick taken by Martin Cranie.60:56
David Bell fouled by Kevin Nolan, the ref awards a free kick. Free kick taken by Joe Murphy.59:48
Julien Faubert produces a right-footed shot from close range that goes over the bar.59:28
Jack Collison takes a shot. Save by Joe Murphy.58:24
Outswinging corner taken from the right by-line by Jack Collison, Sam Baldock takes a shot. Save made by Joe Murphy.57:02
Sam Baldock has an effort at goal from close range which goes wide left of the goal.56:46
David Bell takes a shot. Joe Murphy makes a comfortable save.55:23
Inswinging corner taken by Mark Noble, James Tomkins produces a header from deep inside the six-yard box which goes wide of the right-hand post.52:40
Winston Reid challenges Lukas Jutkiewicz unfairly and gives away a free kick. Gary McSheffrey takes the direct free kick.51:32
Outswinging corner taken left-footed by Gary McSheffrey from the left by-line, Kevin Nolan manages to make a clearance.49:22
Lukas Jutkiewicz has a header from deep inside the six-yard box and clears the crossbar.47:05
Lukas Jutkiewicz fouled by Winston Reid, the ref awards a free kick. Richard Keogh takes the free kick.45:22
The assistant referee signals for offside against Lukas Jutkiewicz. Robert Green takes the free kick.45:01
The referee gets the second half started.45:00 +1:22 Half time
Half Time The half-time whistle blows.45:00 +1:01
Papa Bouba Diop takes a shot. Blocked by Richard Wood.45:00 +0:26
Corner taken by Jack Collison from the right by-line.44:16
Free kick awarded for a foul by Gary McSheffrey on Julien Faubert. Robert Green takes the free kick.43:43
Jack Collison challenges Carl Baker unfairly and gives away a free kick. Direct free kick taken by Joe Murphy.42:40
Papa Bouba Diop takes a shot. Blocked by Gary Deegan. Short corner worked by George McCartney.41:35
Handball decision goes against Mark Noble. Richard Keogh restarts play with the free kick.40:35
Inswinging corner taken right-footed by Mark Noble from the left by-line, clearance by Conor Thomas. Effort from outside the penalty area by Julien Faubert goes wide left of the goal.39:53
Gary McSheffrey is caught offside. Robert Green takes the indirect free kick.38:55
Sam Baldock takes a shot. Blocked by Chris Hussey. Jack Collison takes the outswinging corner, Header from close in by James Tomkins misses to the left of the target.38:23
Headed effort from inside the area by Lukas Jutkiewicz misses to the left of the target.36:27
Foul by Conor Thomas on Mark Noble, free kick awarded. Free kick taken by Mark Noble. Sam Baldock takes a shot. Blocked by Richard Wood.35:54
Foul by Gary McSheffrey on Julien Faubert, free kick awarded. Direct free kick taken by James Tomkins.34:18
Sam Baldock is ruled offside. Joe Murphy restarts play with the free kick.33:13
Free kick awarded for a foul by Carl Baker on Mark Noble. Direct free kick taken by Julien Faubert.30:18
Shot by George McCartney. Save made by Joe Murphy. Corner taken right-footed by Jack Collison.29:03
Corner taken by Gary McSheffrey, free kick awarded for a foul by Richard Wood on Winston Reid. Robert Green takes the direct free kick.24:11
The referee blows for offside against Kevin Nolan. Richard Keogh takes the indirect free kick.23:05
Foul by Carlton Cole on Richard Keogh, free kick awarded. Direct free kick taken by Joe Murphy.22:45
Lukas Jutkiewicz is caught offside. Indirect free kick taken by Robert Green.22:09
Kevin Nolan is caught offside. Free kick taken by Joe Murphy.20:18
Free kick awarded for a foul by Papa Bouba Diop on Gary McSheffrey. Chris Hussey takes the free kick.19:00
Effort on goal by Kevin Nolan from just inside the area clears the crossbar.15:42
Mark Noble takes a inswinging corner.15:00
Free kick awarded for an unfair challenge on Gary McSheffrey by James Tomkins. Gary McSheffrey crosses the ball in from the free kick, Carlton Cole manages to make a clearance.14:28
Kevin Nolan has an effort at goal from the edge of the box that misses to the right of the target.13:58
Sam Baldock takes a shot. Blocked by Martin Cranie.11:25
Free kick awarded for an unfair challenge on Gary McSheffrey by Julien Faubert. Chris Hussey restarts play with the free kick.10:37
Inswinging corner taken right-footed by Mark Noble from the left by-line, Jack Collison takes a shot. Save by Joe Murphy.10:21
Kevin Nolan takes a shot. Save by Joe Murphy.9:54
Jack Collison takes a shot. Chris Hussey gets a block in.8:30
Chris Hussey has an effort at goal from the edge of the area that misses to the right of the target.7:35
Foul by Lukas Jutkiewicz on Winston Reid, free kick awarded. Robert Green takes the free kick.6:45
Free kick awarded for an unfair challenge on Gary Deegan by Kevin Nolan. Free kick taken by Joe Murphy.5:36
Martin Cranie challenges George McCartney unfairly and gives away a free kick. The free kick is delivered right-footed by Mark Noble from left wing, Lukas Jutkiewicz manages to make a clearance.3:49
Inswinging corner taken by Mark Noble, Richard Wood makes a clearance.2:26
Sam Baldock gives away a free kick for an unfair challenge on Richard Wood. Direct free kick taken by Martin Cranie.0:00
The referee gets the game underway.
Live data and text provided by our data suppliers