The champions were cruising towards victory, two goals up, when the hosts scrambled a goal back in the dying minutes and from there on it was backs to the wall stuff in order to preserve what had suddenly become a slender advantage.
Anything other than a victory for the Blues would have been a travesty given the chances created, but Watford gave it a good go and almost claimed an unlikely draw.
City quickly worked their way into the game and could have been ahead on 11 minutes when Leroy Sane intercepted a wayward pass on the halfway line and accelerated towards goal only to be denied by Ben Foster.
And as the Blues used a variety of set-pieces in the opening 20 minutes, the hosts desperately clung on as only the final pass or Foster managed to keep the champions out.
Foster again saved his team on 20 minutes, with three saves the space of a few seconds as Mahrez found himself with just the keeper to beat, then Bernardo saw his follow-up was saved before the former England keeper cleared at the feet of David Silva.
Then Gabriel Jesus tricked his way past his marker and came close to opening the scoring just on the half-hour but saw his effort smothered into touch, but still the hosts held on.
The Blues almost paid the price for not taking at least one of the many opportunities on 32 minutes when Abdoulaye Doucouré’s hopeful overhead pass found Troy Deeney but Ederson made a fine save with his feet from point blank range.
With Vicarage Road such a happy hunting ground in recent years, it felt odd that City – who had been three goals and four goals up before the break on their past two visits, were yet to score – so it was a relief when normal service was resumed on 40 minutes.
Mahrez cut in from the right and sent in a delightful cross that saw Foster deny David Silva, but the ball found its way back to Mahrez and this time he picked out Sane’s run and the German improvised superbly, chesting the ball through Foster’s legs.
It was no more than the Blues deserved, but the margin at half-time should have been greater.
It took City just six minutes of the second period to double the advantage and it was the magical boots of Mahrez that did the damage as Silva’s pass found Jesus whose cross was buried by the Algerian from 10 yards.
It was no more than he deserved for a sublime display on the right wing.
Jesus then went close twice in the space of a few minutes, first chasing Silva’s pass towards goal and being thwarted by Foster, then racing clear courtesy of Mahrez and shooting just wide.
It was a pity for the youngster who never stopped trying or running all evening – but the goals will come.
Mahrez forced another fine save from Foster on 80 minutes, dropping his shoulder and firing a low shot to the Hornets’ keeper’s right.
Watford were given late hope, completely against the run of play, as Fabian Delph lost possession to Deulofeu whose cross was eventually turned home by Doucouré on 85 minutes.
It was suddenly game on.
From a position of total dominance and a certain degree of comfort, the Blues were suddenly under the cosh and just a minute later Deeney was allowed a free header from a corner that Ederson saved easily.
The hosts had their tails up and it was nail-biting stuff as Watford launched attack after attack, pumping balls into the box with City unable to keep possession.
Ultimately, the final whistle was a huge relief – but it shouldn’t have been given what went on for the previous 85 minutes.
Star man: Riyad Mahrez
One goal, one assist and countless chances created by the Algerian who was simply brilliant.
What it means…
City move on to 41 points, five ahead of our nearest challengers Liverpool who play Burnley on Wednesday evening.
The Blues have now won seven on the bounce and are unbeaten in 21 games.
City travel back south for one of the toughest games of the campaign so far against Chelsea in Saturday’s early evening kick-off at Stamford Bridge.
Then it’s back to the Etihad the following Tuesday for the last Group F Champions League game against Hoffenheim.