City's goals came either side of half-time as Leroy Sane chested home to end Watford's resistance before Riyad Mahrez swept home early in the second period.
However, they had to withstand a nervy finish after Abdoulaye Doucoure bundled home five minutes from time.
Pep Guardiola made six changes to his starting line-up despite also missing Sergio Aguero and Kevin De Bruyne through injury.
Yet, City were still far too strong for the dogged hosts, who had goalkeeper Ben Foster to thank for the visitors not racking up the 5-0 and 6-0 thrashings they did on their two previous visits to Vicarage Road.
Guardiola changed his entire back four from Saturday's 3-1 win over Bournemouth and left the in-form Raheem Sterling on the bench for the full 90 minutes.
Mahrez came in for the England international and the luxury of options on offer to Guardiola was obvious as both his wide men found the net in Sterling's absence.
However, Watford were left to rue their chances before the break against a City defence that appeared to miss Aymeric Laporte as the Frenchman was rotated for the first time in the league this season.
Roberto Pereyra has already produced some spectacular goals for the Hornets this season and the Argentine was inches away from another when he curled just wide inside 10 minutes.
City soon took control, though, and Foster made a brilliant save to deny Sane after the German had intercepted a wayward Pereyra pass.
The former England international also spread himself well to claw away Mahrez's attempted dink over the 'keeper.
Yet, the best save of the opening half came down the other end when Ederson stretched out his left foot to block Troy Deeney's effort from point-blank range.
Moments later, City were finally in front. Mahrez's cross picked out Sane unmarked at the back post and he cleverly used his chest to power the ball below Foster.
Six minutes into the second half, the visitors struck again when Gabriel Jesus -- who endured another lean night in front of goal in the absence of Aguero -- at least made a contribution as a provider by pulling the ball back for Mahrez to fire home.
City got uncharacteristically slack in the final quarter, though, and were made to pay when Doucoure finally turned home after a goalmouth scramble.
Guardiola was forced to throw on Laporte and Nicolas Otamendi in the closing stages to repel Watford's aerial assault, but City held on.
Perez sparks West Ham
Elsewhere, Bournemouth moved above Manchester United, who host Arsenal on Wednesday, up to sixth thanks to a 2-1 win over Huddersfield.
Callum Wilson and Ryan Fraser continued their fine personal seasons by giving the hosts a 2-0 lead inside 22 minutes before Terence Kongolo pulled a goal back for the Terriers.
Brighton edged into the top half as despite playing for over an hour with 10 men, they beat Crystal Palace 3-1.
The hosts led 1-0 through Glenn Murray's penalty before Shane Duffy saw a straight red, but further goals before half-time from Leon Balogun and Florin Andone sealed the three points despite Luka Milivojevic's late consolation from the penalty spot.
West Ham's upward trajectory also continued as three goals in 12 second-half minutes beat Cardiff 3-1.
Lucas Perez replaced the injured Marko Arnautovic in the first half and went onto score his first two league goals since a summer move from Arsenal before Michail Antonio added a third.