The sides had drawn 1-1 in their first meeting but goals from Davide Faraoni and Lewis McGugan earned the Hornets just their second win in their last 15 league and cup outings.
It might have been a different story had the Robins taken advantage of a great chance in the second minute when Jay Emmanuel-Thomas put Sean Baldock through one-on-one with Jonathan Bond, put the Watford goalkeeper stood up well as the Robins captain fired a shot straight at him.
Baldock also put a decent headed opportunity over the top in the opening 15 minutes but their opponents slowly began to get their attacking game and began to offer more of a threat.
Troy Deeney flicked a header across goal and wide from the Hornets' first corner of the match but they were to take the lead with their second in the 26th minute, albeit in rather confusing fashion.
The ball was played in from the left and touched on to beyond the back post where Faraoni scuffed it back goalwards and the ball somehow found its way into the net. The Italian was credited with the goal even though replays showed the last touch came off Karleigh Osborne, who was trying to clear.
City almost levelled in first-half stoppage time, though, when they counter-attacked and Osborne managed to squeeze in a low cross from the right but Joel Ekstrand did well to get across the front of Bobby Reid, who could only hit the ball over the top from close range.
The Robins were to regret their failure to capitalise on their first-half opportunities after the restart.
Gabriele Angella could have scored a second minutes after the resumption when the defender played a neat give-and-go with Faraoni and advanced before curling a left-footed shot narrowly wide from 20 yards.
But it was McGugan who was to give the Hornets clear daylight in the tie in the 64th minute.
After Deeney had been tackled on the right side of the penalty area, the ball broke for the former Nottingham Forest midfielder who advanced purposefully before planting a left-footed shot past Elliot Parish from 10 yards.
The Hornets could, and perhaps should, have had at least another couple of goals after that, but they were denied by a combination of fine goalkeeping from Parish and poor finishing.
The City stopper first denied Ikechi Anya when he was put through by McGugan when the Hornets sprung a counter-attack, and Parish then produced an even better stop to thwart Deeney when the striker looked odds-on to score after being set up by Fernando Forestieri.
Forestieri was also guilty of missing another gilt-edged opening as the hosts used the closing stages to give a return to action to Almen Abdi, the influential midfielder who had been out injured since the end of August.