Reading earned only their second Premier League win of the season as Pavel Pogrebnyak's fifth-minute goal secured a vital win over West Ham.
Pogrebnyak latched onto a poor backpass from Hammers defender James Collins, before beating Jussi Jaaskelainen.
Adam Federici tipped Collins's header over while Jem Karacan's shot was pushed onto the bar by Jaaskelainen.
Substitute Ricardo Vaz Te nodded wide from three yards as the hosts held on to move within five points of safety.
"It was a gruelling battle and one Reading just had to win with Pavel Pogrebnyak's fifth-minute goal proving decisive"
The result means the Royals remain a place above bottom side QPR on 13 points, with Southampton (17 points) and Aston Villa (18) above them.
Reading beat West Ham twice last season in the Championship and they made a flying start to the game, Pogrebnyak giving them the lead after just five minutes.
Collins under hit a backpass to goalkeeper Jaaskelainen and the Russian intercepted the ball, slotting home beautifully for the opener.
The goal settled Reading, who dominated midfield in the opening stages with Jimmy Kebe on the right wing their best outlet.
West Ham slowly started to come into the game, threatening with crosses from wider positions, and Collins almost made amends for his earlier mistake with a close-range header that was superbly tipped over the bar by Federici.
Nolan also tested the Australian keeper with a curling effort from the edge of the area, while Reading needed several heroic tackles from central defender Alex Pearce to keep West Ham at bay.
It was a half low on quality and full of poor challenges, with Mark Noble, Pogrebnyak and Collins all booked, and another four yellow cards following in the second half.
Carlton Cole had West Ham's first chance after the break, heading Matt Jarvis's cross wide as the visitors introduced Jack Collison for Matt Taylor to try to give them a grip in midfield.
Cole was involved again soon after, stamping on Chris Gunter, with the Hammers forward lucky to escape punishment.
As the rain lashed down it became a gruelling battle, with Reading dropping deeper and deeper as they looked to hold on.
Collison went close with a low strike that Federici did well to keep out at full stretch, and Karacan crashed a shot against the crossbar from 18 yards.
Vaz Te made his return after 12 weeks out with a shoulder injury.
And the Portuguese had a great opportunity to level the game but headed wide when unmarked three yards out.
Reading manager Brian McDermott told BBC Sport:
"I'm very pleased. We were very resilient today and we needed to be. We know what we have to do to get results in this league and we move on now and look forward to our next game against Spurs.
"We had to deal with facing a very physical side and we have kept another clean sheet. I didn't feel they had too many opportunities. Pavel took his chance very well and we've also hit the bar.
"A couple of their players could have been sent off and you saw two teams desperate to win out there."
West Ham manager Sam Allardyce told BBC Sport:
"We shot ourselves in the foot from the early stages. James Collins has been solid for us this season but he made a basic error and they took full advantage.
"Reading defended deep and in numbers and Vaz Te has missed a glaring, glaring chance and two errors mean we have not taken any points against them.
"We are slipping back down that way now and that is going to put pressure on us. We should have undone our early error but Vaz has missed it.
"We are bitterly disappointed not to come away with a point and now we are without James (Collins) and Kevin (Nolan) through suspension for an important game against Norwich."
- 01 Federici
- 02 Gunter
- 05 Pearce Booked
- 06 Mariappa
- 23 Harte Booked
- 04 Karacan
- 08 Leigertwood
- 11 McAnuff
- 14 Kebe (Robson-Kanu - 76' )
- 20 Guthrie (Hunt - 65' )
- 07 Pogrebnyak Booked
- 41 Taylor
- 15 Morrison
- 24 Cummings
- 16 Tabb
- 19 Robson-Kanu
- 09 Le Fondre
- 10 Hunt
West Ham United
- 22 Jaaskelainen
- 02 Reid
- 05 Tomkins Booked
- 17 O'Brien
- 19 Collins Booked
- 04 Nolan Booked
- 07 Jarvis
- 14 Taylor (Collison - 54' )
- 16 Noble Booked (Maiga - 79' )
- 32 O'Neil (Vaz Te - 67' )
- 09 Cole
- 30 Spiegel
- 20 Demel
- 27 Spence
- 10 Collison
- 23 Diarra
- 11 Maiga
- 12 Vaz Te
Live Text Commentary
Full Time The referee blows his whistle to end the game.90:00 +2:20
Jack Collison gives away a free kick for an unfair challenge on Adrian Mariappa. Adam Federici restarts play with the free kick.89:30
Free kick awarded for a foul by Kevin Nolan on Hal Robson-Kanu. Hal Robson-Kanu restarts play with the free kick.89:01
Short corner worked by Noel Hunt.86:43
Free kick awarded for an unfair challenge on Noel Hunt by Kevin Nolan. Free kick taken by Jobi McAnuff.84:53
Ricardo Vaz Te fouled by Mikele Leigertwood, the ref awards a free kick. Joey O'Brien takes the free kick.84:16
The assistant referee signals for offside against Carlton Cole. Adam Federici restarts play with the free kick.83:09
Inswinging corner taken by Ian Harte.82:12
The ball is delivered by Matthew Jarvis, Ricardo Vaz Te has a headed effort at goal from close in which goes wide right of the goal.81:42
Carlton Cole fouled by Hal Robson-Kanu, the ref awards a free kick. Direct free kick taken by Jack Collison.80:47
Adam Federici restarts play with the free kick.80:47 Booking
Booking Kevin Nolan receives a yellow card.79:55
Jack Collison takes a outswinging corner. James Tomkins takes a shot. Kevin Nolan gives away a free kick for an unfair challenge on Hal Robson-Kanu.79:42
The ball is crossed by Ricardo Vaz Te, clearance made by Chris Gunter.78:44
James Collins takes the free kick.78:44 Substitution
Substitution Modibo Maiga is brought on as a substitute for Mark Noble.78:44 Booking
Booking The referee shows Ian Harte a yellow card for unsporting behaviour.78:40
Unfair challenge on Mark Noble by Ian Harte results in a free kick.77:35
Chris Gunter sends in a cross, James Collins manages to make a clearance.76:51
Chris Gunter crosses the ball, Winston Reid makes a clearance.
Adam Federici restarts play with the free kick.74:55 Substitution
Substitution (Reading) makes a substitution, with Hal Robson-Kanu coming on for Jimmy Kebe.74:55
Kevin Nolan is flagged offside by the assistant referee.74:29
Jack Collison crosses the ball, clearance by Jimmy Kebe.73:22
Matthew Jarvis sends in a cross, James Tomkins produces a header from the edge of the box and misses to the right of the target.72:43
Noel Hunt gives away a free kick for an unfair challenge on Matthew Jarvis. The free kick is delivered right-footed by Mark Noble from left wing, Noel Hunt manages to make a clearance.70:40
Free kick awarded for a foul by Noel Hunt on Winston Reid. James Collins restarts play with the free kick.69:59
Mark Noble sends in a cross.69:25
Noel Hunt gives away a free kick for an unfair challenge on Ricardo Vaz Te. Mark Noble restarts play with the free kick.69:13
A cross is delivered by Jack Collison, Jimmy Kebe makes a clearance.68:06
Jack Collison takes a shot. Jem Karacan manages to make a clearance.67:15
Joey O'Brien fouled by Jimmy Kebe, the ref awards a free kick. Free kick crossed by Mark Noble, clearance by Adrian Mariappa.66:20 Substitution
Substitution Ricardo Vaz Te joins the action as a substitute, replacing Gary O'Neil.66:20 Booking
Booking Caution for James Tomkins.66:02
Shot by Jimmy Kebe from deep inside the penalty area misses to the right of the goal.65:45
Jem Karacan takes a shot. Save by Jussi Jaaskelainen.64:46 Substitution
Substitution Noel Hunt replaces Danny Guthrie.63:55
Jack Collison takes a shot. Adam Federici makes a save.60:02
Free kick taken by Mark Noble. Chris Gunter fouled by Kevin Nolan, the ref awards a free kick. Free kick taken by Adam Federici.60:02 Booking
Booking Alex Pearce shown a yellow card.59:57
Unfair challenge on Kevin Nolan by Alex Pearce results in a free kick.59:26
Jem Karacan sends in a cross.53:49 Substitution
Substitution (West Ham) makes a substitution, with Jack Collison coming on for Matthew Taylor.53:34
A cross is delivered by Matthew Jarvis, Carlton Cole has a header from close range and clears the crossbar.53:02
A cross is delivered by Matthew Jarvis, clearance by Adrian Mariappa.52:37
Centre by James Tomkins, clearance made by Mikele Leigertwood.51:00
The assistant referee flags for offside against Pavel Pogrebnyak. Free kick taken by Jussi Jaaskelainen.50:29
Matthew Jarvis produces a cross, Adrian Mariappa manages to make a clearance.48:48
The referee blows for offside. Indirect free kick taken by Jussi Jaaskelainen.46:51
Pavel Pogrebnyak is penalised for a handball. Free kick taken by Jussi Jaaskelainen.45:01
The referee gets the second half underway.45:00 +2:19 Half time
Half Time The whistle is blown to end the first half.45:00 +2:07
Gary O'Neil crosses the ball, clearance by Mikele Leigertwood.45:00 +1:01 Booking
Booking James Collins is cautioned.44:14
Shot from just outside the area by Gary O'Neil misses to the left of the target.42:51
Pavel Pogrebnyak concedes a free kick for a foul on Winston Reid. Winston Reid restarts play with the free kick.42:29
Kevin Nolan takes a shot. Save by Adam Federici.40:33
Matthew Jarvis sends in a cross, Adrian Mariappa manages to make a clearance.38:25
Jimmy Kebe delivers the ball, save made by Jussi Jaaskelainen.37:45
Jem Karacan fouled by Gary O'Neil, the ref awards a free kick. Free kick taken by Adam Federici.36:01
Direct free kick taken by Mark Noble.36:01 Booking
Booking Pavel Pogrebnyak is shown a yellow card.35:56
Free kick awarded for an unfair challenge on Winston Reid by Pavel Pogrebnyak.34:55
The assistant referee signals for offside against Pavel Pogrebnyak. Jussi Jaaskelainen takes the indirect free kick.32:14
Pavel Pogrebnyak fouled by Winston Reid, the ref awards a free kick. Ian Harte restarts play with the free kick.30:09
Free kick awarded for an unfair challenge on Joey O'Brien by Jimmy Kebe. Free kick taken by Jussi Jaaskelainen.27:55
The ball is sent over by Matthew Taylor, Adam Federici makes a save.26:27
The assistant referee signals for offside against Kevin Nolan. Adam Federici takes the indirect free kick.24:52
The ball is crossed by Matthew Taylor, Gary O'Neil has a headed effort at goal from deep inside the area missing to the left of the target.23:31
James Collins gives away a free kick for an unfair challenge on Adrian Mariappa. Adam Federici takes the free kick.22:37
A cross is delivered by Kevin Nolan, Winston Reid takes a shot. Adam Federici makes a save. Corner taken by Mark Noble from the left by-line to the near post, Alex Pearce makes a clearance.21:46
Alex Pearce gives away a free kick for an unfair challenge on Carlton Cole. Free kick taken by Mark Noble.20:50
The referee blows for offside against Pavel Pogrebnyak. Indirect free kick taken by James Collins.19:32
The ball is sent over by Jimmy Kebe.18:18
Free kick awarded for a foul by Jobi McAnuff on Matthew Taylor. Free kick taken by Jussi Jaaskelainen.17:43
Unfair challenge on Pavel Pogrebnyak by Winston Reid results in a free kick. Free kick taken by Ian Harte.16:18
Chris Gunter gives away a free kick for an unfair challenge on Matthew Jarvis. Jussi Jaaskelainen takes the free kick.16:04
The ball is delivered by Jimmy Kebe, James Tomkins manages to make a clearance.15:04
Matthew Jarvis delivers the ball, Alex Pearce manages to make a clearance.14:02
Free kick taken by Danny Guthrie. Adrian Mariappa is flagged offside by the assistant referee. Jussi Jaaskelainen takes the indirect free kick.14:02 Booking
Booking Mark Noble booked for unsporting behaviour.13:39
Free kick awarded for a foul by Mark Noble on Jimmy Kebe.12:25
Matthew Jarvis fouled by Jimmy Kebe, the ref awards a free kick. Free kick crossed right-footed by Mark Noble from left wing, save by Jussi Jaaskelainen.9:34
Free kick awarded for an unfair challenge on Joey O'Brien by Jimmy Kebe. Mark Noble restarts play with the free kick.7:53
Centre by Matthew Jarvis.7:44
Centre by Gary O'Neil, clearance by Alex Pearce.4:34 Goal scored
Goal! - Pavel Pogrebnyak - Reading 1 - 0 West Ham Pavel Pogrebnyak finds the net with a goal from inside the penalty box to the bottom right corner of the goal. Reading 1-0 West Ham.3:33
Effort on goal by Matthew Taylor from inside the area goes harmlessly over the bar.2:36
Jem Karacan sends in a cross, James Collins makes a clearance.1:19
Gary O'Neil is adjudged to have handled the ball. The free kick is delivered left-footed by Ian Harte from right wing, free kick awarded for an unfair challenge on James Collins by Alex Pearce. Jussi Jaaskelainen takes the direct free kick.0:00
The game begins.
Live data and text provided by our data suppliers