Brynjar Gunnarsson gave the Hornets the lead with a 15-yard drilled shot before Bruce Dyer clipped the ball over keeper Stephen Bywater to make it 2-0.
Nigel Reo-Coker reduced the deficit after slotting home the rebound from Sergei Rebrov's free-kick.
Darren Powell made it 2-2 when he headed in Matthew Etherington's corner before Rebrov rifled in the winner.
Watford boss Ray Lewington
"It was disappointing after being 2-0 up.
"But I don't think we ever really got going, even when we were winning.
"We needed to be 2-0 up for longer than we were and once we conceded the first, the momentum was theirs and we were waiting for half-time really.
"We've got another game on Tuesday so we can't dwell on it and we have to get going again."
West Ham: Bywater, Repka, Fletcher, Darren Powell,
Chris Powell, Chadwick, Lomas, Reo-Coker,
Etherington (Ferdinand 90), Zamora, Rebrov.
Subs Not Used: Walker, Sofiane, Ward, Noble.
Goals: Reo-Coker 28, Darren Powell 30, Rebrov 58.
Watford: Lee, Doyley, Cox, Dyche, Darlington (Gayle 78),
Chambers, Mahon, Gunnarsson (Young 41), Ardley (Devlin 71),
Subs Not Used: Chamberlain, Fitzgerald.
Booked: Gunnarsson, Mahon.
Goals: Gunnarsson 5, Dyer 21.
Ref: K Wright (Cambridgeshire).