Two goals in the final three minutes of the first half allowed new West Ham manager Gianfranco Zola to savour a 2-1 derby win at Fulham in the Barclays Premier League.
The Hammers, who had beaten Newcastle the previous week in the Italian’s first game in full charge, shocked the hosts with goals from Carlton Cole and Matthew Etherington.
Fulham striker Andrew Johnson was sent off seconds later and although captain Danny Murphy pulled one back from the penalty spot in the second half the Hammers took the points.
The Hammers had hardly threatened until Fulham goalkeeper Mark Schwarzer gifted Carlton Cole a 43rd-minute opener against the run of play.
And the home fans suffered further agony when Matthew Etherington then ran through to make it 2-0 in stoppage time.
Fulham striker Andrew Johnson was then sent off as the home side were facing a disastrous afternoon.
Managers Roy Hodgson and Gianfranco Zola made changes after both their sides were dumped out of the Carling Cup by Championship opposition this week.
Hodgson’s Fulham lost 1-0 at Burnley and West Ham were eliminated by the same score at Watford.
Hodgson restored eight players to the starting line-up, including former Hammers Bobby Zamora and John Pantsil.
New Hammers manager Zola made five changes, including bringing striker Carlton Cole back after fining his former Chelsea colleague earlier in the week for an off-field misdemeanour.
Fulham were looking for their first home victory in the league over their London rivals since 1966 – and to score in the second half for the first time this season.
Matthew Upson had to hack away in front of his own goal after a loose pass from Lucas Neill had allowed Fulham midfielder Simon Davies to steal possession.
And the England defender was needed again seconds later when Julien Faubert’s poor control almost let in Andrew Johnson.
Fulham appealed for a penalty as Johnson bounced off Upson but referee Andre Marriner was not interested.
Fulham were relentless and Davies let fly with a drive from inside the box which flew just wide of Robert Green’s right-hand upright.
Zamora should have done better when Danny Murphy picked him out in the box but although the striker easily out-jumped Faubert he could only head harmlessly wide.
Green had to come off his line and dive at Johnson’s feet to stop the striker latching onto a ball through the heart of the Hammers’ rather shaky defence.
Matthew Etherington won a corner for the visitors but Scott Parker’s long-range strike was far too high after Fulham had cleared the flag-kick easily.
Then David di Michele managed to get a header on target while under pressure but Fulham goalkeeper Mark Schwarzer was able to collect calmly.
Johnson, who had just surrendered possession carelessly, went in late on Herita Ilunga and was booked in the 20th minute, with the West Ham left-back needing treatment before rejoining the game.
Zamora poked a fair chance wide after Davies had set him up but West Ham were looking more secure having weathered that early storm.
Johnson rose to head a free-kick from Jimmy Bullard over and the midfielder then saw a rather optimistic long-ranger deflected behind for a corner.
Bullard took that himself and found the head of Fulham’s giant centre-back Brede Hangeland but Green was untroubled as the ball flew over.
Davies was hurt when a slick passing move on the edge of the West Ham box was ended by Neill’s body-check and the Australian was punished only by a free-kick.
Bullard took it but again the ball cleared the crossbar.
Murphy surged forward to launch the next attack and again it was stopped illegally by Neill, this time using an arm.
Bullard tried again, from almost exactly the same position, and this time Green had to dive to his left to make a fine save.
Pantsil had connected with the goalkeeper’s head as he came haring in hoping for a rebound and Green needed treatment after the referee had diffused a bout of pushing and shoving by players from both sides in the six-yard box.
Paul Konchesky was booked in the 39th minute when his tackle left Etherington in agony, although the former Hammer had certainly won the ball first.
Etherington was able to rejoin the game following treatment and clattered Johnson before Bullard trundled a shot wide at the other end.
Cole got the better of Hangeland in stoppage time to send Etherington away down the right and when Schwarzer spilled the cross Cole was on hand to accept the gift and put the Hammers ahead.
And there was still time before the half-time whistle for Etherington to use his speed again to double the lead, racing on to Mark Noble’s throughball from his own half to fire past Schwarzer.
Fulham were dealt another blow when Johnson caught Neill late and was sent off for two bookable offences.
Murphy took a knock early on in the second period as Fulham sought a way back into a game which had initially seemed there for the taking.
Noble’s effort from outside the box was tipped wide by Schwarzer as the Hammers looked to wrap the game up there and then.
Faubert was next to have a try and his dipping effort from distance on the right was only just too high.
Schwarzer then denied Ilunga with a smart fingertip save after a move involving Etherington and Noble had set up the defender for a low drive from the left of the box.
Fulham were offered a lifeline in the 58th minute when Neill was adjudged to have stopped Zoltan Gera’s header in the box with an arm and Murphy made no mistake from the penalty spot.
Gera was then inches away from converting after a Davies ball into the box as the home side refused to give up.
Bullard fired just over the bar from distance as the Hammers contemplated whether to carry on attacking or try to shut up shop.
Parker was booked in the 68th minute for felling Gera and Bullard’s free-kick was headed wastefully wide by Zamora from six yards.
West Ham made a change in the 74th minute with Di Michele replaced by Craig Bellamy.
A curling shot from Cole clipped the top of the bar as the Hammers sought a clincher but Parker’s chip from the next attack was easily saved by Schwarzer.
Etherington was replaced by Hayden Mullins for the final 10 minutes.
Bellamy then missed a sitter after his initial shot had been blocked on the line by Hangeland. The rebound came straight back to him – and he put it over.
FULHAM (4-4-2): Schwarzer; Pantsil, Konchesky, Hughes, Hangeland; Murphy, Bullard, Davies, Gera; Zamora, A. Johnson. Subs (not used): Zuberbuhler, Kallio, Baird, Andreasen, Dempsey, Seol Ki-Hyeon, Nevland.
BOOKED: A. Johnson, Konchesky, Murphy, Hangeland.
SENT OFF: A. Johnson (45)
GOAL: Murphy (pen 59).
WEST HAM UNITED (4-4-2): Green; Faubert, Neill, Upson, Ilunga; Behrami, Parker (Boa Morte 90), Noble, Etherington (Mullins 80), C. Cole, Di Michele (Bellamy 74). Subs (not used): Lastuvka, Lopez, Davenport, Sears
BOOKED: Parker (68,f)
GOALS: Cole 43, Etherington 45.
REFEREE: Andre Marriner (West Midlands)