Diego Llorente marked his return to the Whites' starting XI by scoring the only goal of the match in the 18th minute against a Hornets side that failed to produce any significant chances.
Story of the match
In the 17th minute, Junior Firpo found Mateusz Klich and he sent a cushioned pass to Dallas, whose effort was deflected behind. It was from that corner that the Whites claimed the lead.
The delivery was nodded down by Watford defender Juraj Kucka at the back post and it fell to Llorente, who side-footed it past Foster to make it 1-0 to the hosts.
The Hornets' first shot of the game was nearly debut goal for on-loan striker Ozan Tufan, but his shot across the face of goal was sent into the stands.
With halftime approaching and the visitors temporarily down a man following a knee injury to Joshua King, Klich sent the ball goalwards, but it went just past the far corner.
James fired another warning shot to the Hornets defense as his low cross was collected by Foster and five minutes later, he squared for Dallas, who skied into the stands.
On the hour mark, the Watford goalkeeper pushed away a Leeds corner after Troost-Ekong had initially dealt with the free-kick.
Tyler Roberts was unlucky not to have doubled the Whites' lead as Kucka cleared away his first shot and his follow-up attempt hit the crossbar.
That was the last meaningful action of the game as the hosts picked up a much-needed first victory of the season.
Man of the match: Diego Llorente
He not only produced the match-winner, but allowed Watford very little in his defensive half, making his return a smashing success.