Abdoulaye Doucoure bundled the ball over the line with five minutes remaining to ensure a nervy finish for City, which held firm to secure a seventh straight league win. It puts the pressure back on second-place Liverpool, which travels to Burnley on Wednesday.
City's match at Vicarage Road was its second of 13 in the space of just 44 days, and Guardiola made six changes from the team that won against Bournemouth on Saturday. Top scorer Raheem Sterling dropped to the bench.
The changes in personnel had little effect on Guardiola's well-oiled machine, and only the brilliance of Watford goalkeeper Ben Foster ensured City didn't head into the interval with more than a one-goal advantage.
Foster denied Sane after 11 minutes after the winger intercepted a stray pass from Roberto Pereyra and charged down on goal. The goalkeeper then produced a triple save, first from Mahrez, then Bernardo Silva's effort, before kicking the ball from the feet of David Silva.
Foster then had to be on alert again to prevent Gabriel Jesus from beating him at his near post. Sane made the breakthrough when Mahrez whipped the ball in from City's right-hand side and his fellow winger leapt the air to divert it through the legs of Foster and into the back of the net.
City has won all 18 of its games this season in which it has led at halftime, and Mahrez looked to have made sure of the three points when he delivered a cool finish at the far post after a driven cross from Gabriel Jesus.
The visitors were in complete control, with "oles" ringing out from the away section of the crowd on the hour mark. Watford finished well, though, and Doucoure tested goalkeeper Ederson with 15 minutes remaining before scoring his goal. Ederson saved at the feet of Andre Gray following a cross from Gerard Deulofeu, but Doucoure was on hand to get the ball over the line.
City faces Chelsea next on Saturday.
More AP English soccer: https://apnews.com/tag/PremierLeague and https://twitter.com/AP_Sports