The West Ham captain converted either side of halftime, with Watford goalkeeper Heurelho Gomes unable to repeat last weekend's heroics of saving two penalties at West Bromwich Albion.
Striker Andy Carroll opened the scoring with his ninth league goal of the season in the 11th minute, steering in a looping Dmitry Payet cross.
Defender Sebastian Proedl pulled one back for the visitors, volleying home from a 64th minute free kick.
Watford, which faces Crystal Palace in the FA Cup semifinals on Sunday, could have had a second goal - but substitute Troy Deeney saw his 90th minute penalty saved.
Watford's lineup reflected the weekend trip to Wembley Stadium, with manager Quique Sanchez Flores choosing to make seven changes.
Team captain Deeney was on the bench and forward Odion Ighalo was rested. Not surprisingly, without the potent strike force that has netted 23 times between them this season, Watford lacked an outlet up front.
"We have used a lot of players recently and the plan was to try to conserve and be fit for the weekend," the Spanish coach explained as he looked ahead to the match against Palace. "Practically all of the players will be fit for the weekend."
Meanwhile, Payet ran the show from midfield, while Carroll and Senegal striker Diafra Sako were a constant handful for the re-shuffled Watford defense, and the result never looked in doubt for the home team.
"I'm really pleased because we played some good football. We dominated from the start and we deserved to win," West Ham manager Slaven Bilic said.
"There is everything to play for and we will fight to the end."
In the club's last season at the Boleyn ground where it has played since 1906, West Ham has now gone 16 consecutive league matches unbeaten at home. It is also undefeated in its last nine league matches, their best run in the top flight since December 1985.
The team is sixth in the standings, with four more matches to play, as it bids to secure a place in next season's Europa League.