Ten-man West Ham moved four points clear at the top of the Championship table with a narrow derby win over London rivals Millwall at Upton Park.
The home side had captain Kevin Nolan sent off early on before taking the lead through Carlton Cole's header.
Liam Trotter equalised for Millwall with a stunning effort but Winston Reid put the Hammers back in front with a 20-yard strike into an unguarded net.
Alan Dunne came close for the Lions but Sam Allardyce's men held on.
The league leaders looked set for a stern test when Nolan was given a straight red card for a two-footed lunge on Jack Smith with only nine minutes gone.
Millwall looked to press home their advantage, home goalkeeper Robert Green diving bravely to deny Darius Henderson.
But, just before half-time, Reid headed Mark Noble's free-kick back across goal for Cole to nod home easily.
The home side were nearly 2-0 up shortly after half-time, Juilen Faubert's header coming back off the bar.
The Lions then drew level on 65 minutes, Henderson outmuscling Abdoulaye Faye and playing in Trotter, who volleyed into the roof of the net.
But three minutes later, West Ham were back in front with what proved the winner.
Under a heavy challenge from Faubert, Millwall goalkeeper David Forde could only punch the ball into the path of the on-rushing Reid, who finished first time from outside the area.
Forde claimed a foul, but referee Mick Jones awarded the goal, condemning Millwall to their fifth defeat in six games.
West Ham United 01 Green 02 Reid 03 McCartney 05 Tomkins 15 Faye Booked 17 O'Brien 18 Faubert (O'Neil - 80' ) 04 Nolan Dismissed 10 Collison (Taylor - 46' ) 16 Noble 09 Cole Booked (Vaz Te - 89' ) Substitutes 14 Taylor 32 O'Neil 07 Baldock 08 Maynard 12 Vaz Te Millwall 01 Forde Booked 02 Dunne 16 Barron (Kane - 56' ) 18 Ward Booked 21 Smith 31 Lowry Booked 06 Trotter 15 Feeney (Mason - 81' ) 26 Abdou 07 Henderson Booked 20 Keogh Substitutes 13 Allsopp 32 Mason 44 Wright 22 N'Guessan 37 Kane