Villa had the better chances in the first half but it was West Ham who went ahead six minutes into the second as Michail Antonio held the ball up before finding Said Benrahma and he picked out Tomas Soucek who rifled the ball into the far corner.
Lingard, who joined West Ham on loan from Manchester United this week, scored five minutes later, chesting down Antonio's cross and firing home a stinging left-foot shot.
Watkins almost had a second goal a minute later as Grealish picked him out again but West Ham defender Craig Dawson's diving challenge averted the danger.
Having only appeared in three games in cup competitions for Manchester United all season, Lingard was not in the mood to be upstaged in his first league game of the year, and it was not long before the 28-year-old was celebrating again.
Antonio picked out the onrushing Lingard to his right and the midfielder lashed a shot that squirmed though the grasp of keeper Emiliano Martinez to seal the victory.
"I started tonight, scored two goals and (we) got three points. I was smiling before the game and during, I just enjoy playing football," Lingard told BT Sport.
"It has been a long time. I have come here to get game time and scored two goals but... three points is the most important."
The win lifted West Ham to fifth on 38 points from 22 games, two points behind fourth-placed Liverpool. Villa stay ninth on 32 from 20 matches