Derry latched on to David Healy's header before slipping the ball confidently past Stephen Bywater.
Rob Hulse had put Leeds in front just after the break, converting an Aaron Lennon cross, before a Derry tackle led to a mass confrontation.
Gavin Williams volleyed West Ham level after good work from Teddy Sheringham, while Matthew Etherington hit the post with a free-kick before Derry's winner.
West Ham boss Alan Pardew:
"We're obviously disappointed with the result as there only looked like being one winner and that was us.
"We dug in for the first half and played well in the second. We had two or three fantastic opportunities, we're disappointed to concede a late goal.
"We're kicking ourselves we haven't got three points, let alone none. But it is always tough coming here."
Leeds: Sullivan, Kelly, Butler, Kilgallon, Gray, Walton (Pugh 76), Gregan, Derry, Lennon (Carlisle 90), Hulse, Healy.
Subs Not Used: Wright, Richardson, Johnson.
Booked: Hulse, Gregan.
Goals: Hulse 51, Derry 86.
West Ham: Bywater, Repka, Ferdinand (Mullins 45), Mackay, Powell (Zamora 89), Williams, Lomas, Fletcher, Etherington (Cohen 83), Sheringham, Harewood.
Subs Not Used: Reo-Coker, Walker.
Goals: Williams 68.
Att: 34,115
Ref: A Hall (W Midlands).