West Ham 2 (Cole 7, Vaz Te 77)
Reading 4 (Gorkss 43, Hunt 45, Harte 58 (pen), Leigertwood 85)
Reading earned a simply amazing win at Upton Park this afternoon, putting four past West Ham on their own turf.
Reading were behind to an early Carlton Cole goal, but two goals from Kaspars Gorkss and Noel Hunt just before half time swung the game on its head.
Ian Harte scored a penalty to make it 3-1, and Ricardo Vaz Te gave the Hammers hope but Mikele Leigertwood sealed matters late on.
It was a sensational result, and few teams can have played so well at Upton Park. In the second half we were streets ahead, Hunt having a fifth goal disallowed for a tight decision - but it was of no consequence and our 3,000 fans went home rightly proud of their team.
West Ham (4-5-1): Green; Faubert, McCartney, Faye, Tomkins; Noble (Collins HT), O'Neil, Taylor (Baldock 59); Nolan (c), Vaz Te; Cole (Maynard 71),
Subs: Lansbury, Carew
Booked: Tomkins (dissent 74), Faubert (foul 90)
Reading (4-4-2): Federici; Cummings, Harte, Gorkss, Pearce; Karacan (Tabb 55 (Robson-Kanu 66)), Leigertwood, Kebe (Afobe 82) , McAnuff; Hunt, Roberts
Subs: McCarthy, Church
Booked: Roberts (foul 27)
Attendance: 33,350 (3,000 away)
Reading made one change, Jason Roberts back from injury and starting up front. Benik Afobe moved to the bench. Adam Le Fondre was out injured, and with Mikkel Andersen also sidelined Alex McCarthy was back as a sub.
It was West Ham who settled the better and took the lead with only seven minutes on the clock. A left wing cross was headed onto the post by Mark Noble, and the ball fell kindly for Carlton Cole, who produced a nice turn and finish low into the net.
Reading had to regroup as the Hammers had started with good possession.
After 15 minutes Ian Harte put in a good free kick - following a rather cynical late foul by Kevin Nolan on Jimmy
Kebe - but it was just over the head of Kaspars Gorkss.
The Royals were coming into it, and a lovely ball from Jem Karacan released Kebe down the right. His low cross found Noel Hunt in the area, and his effort was goalbound but crucially blocked by James Tomkins - so close to an equaliser.
The game had opened up, and Cole tried a backheel from Ricardo Vaz Te's cross but it was saved comfortably by Adam Federici.
Alex Pearce then put in a superb challenge to deny Nolan as he broke into the box, Shaun Cummings hacking clear. Next Vaz Te climbed well to head George McCartney's cross at goal, but it was straight at Federici.
West Ham were back playing a full part in the game by now and Kaspars Gorkss got in a great block on a Matt Taylor shot. Referee Chris Foy wrongly gave a goal kick - but that evened up a decision from moments earlier when we should too have had a corner. Ying and yang.
On 40 minutes Jason Roberts had a half chance but hit his left-footer off target on the swivel. It was not easy. Gary O'Neil went down in the process but continued fine, to our supporters' chagrin.
Reading had been second best, but showed all of their resilience inside the last minutes of the half.
On 44, McAnuff's low effort was deflected wide for a corner, and from Harte's superb delivery Gorkss powered home a header, brushing Nolan aside in the process.
Then, incredibly, the scoreline got even better. A ball forward found Roberts on the edge of the area, and he slipped in Hunt for a very nice finish indeed. An amazing couple of minutes.
Reading still had some defending to do and from a corner there was an almighty scramble - eventually it was hacked clear and the half time whistle went.
Danny Collins was on for Mark Noble at half time, and his first contribution was a thunderous - but fair - tackle with Jem Karacan. The Turkish midfielder came off worse with a whack to the head and despite battling on gamely he was eventually replaced by Jay Tabb.
With Noble off, Tomkins moved into midfield for United and he hit a decent effort but Federici was down low to save.
Then Reading's afternoon got even better - Hunt made a nuisance of himself inside the box and was fouled by Adboulaye Faye for a clear pen. Kebe actually produced a wonderful finish just after the whistle, but the spot kick had already been given and Harte scored the coolest dead ball you could wish for.
The game became very open, and a Kebe break - from a superb Tabb tackle - gave McAnuff a shot at goal but he couldn't get a full contact and Green saved low. Tabb was hurt in that challenge and sadly had to come off after only 11 minutes on the pitch. But Reading battled on gamely, of course.
As the game went into its last quarter McAnuff hit a decent effort but Green did well to get down and hold it.
Reading were the dominant force in the game at this point - but United gave themselves a lifeline with an excellent Vaz Te header from a corner, giving Federici no chance. With 13 minutes to go - plus added time - it was game on again.
But it was Reading who were closest to scoring next, Hunt's excellent cross finding Hal Robson-Kanu only to see his effort blocked. Moments later our winger was released superbly by Roberts but Green did well to smother his cross. The expected charge from West Ham after getting to 3-2 just never came.
And then Reading were in dreamland. Mikele Leigertwood tried to play in Noel Hunt - who was onside - but it came back to Leigertwood and he did the rest for 4-2. An incredible scoreline.
It was almost 5-2, Hunt had it in the net but it was adjudged that Roberts ran it out of play. It was tight and replays were inconclusive.
Hammers sub Nicky Maynard then should have scored with a header inside injury time, but headed straight at Federici. There was a sense that United knew their fate, and Reading rightly celebrated with our fans at full time. It was some afternoon.