Stoke had the better of the first half and went ahead when home goalkeeper Gomes deflected the ball into his own net after Charlie Adam's header had bounced off the post.
The visitor was able to close out the win surprisingly comfortably in the second half, with Watford barely troubling Lee Grant.
Watford had only lost two of its previous nine league games and missed the chance to go sixth in the table with a win, a bad day made worse when Miguel Britos was sent off for a second caution in the final minute.
Stoke is now only two points behind it after recovering from last week's defeat against Bournemouth to win for only the second time in 10 league away games.
Mark Hughes's men threatened first, with Gomes beating away efforts from Bruno Martins Indi and Xherdan Shaqiri as the host struggled to deal with a free-kick.
Daryl Janmaat and Etienne Capoue had shots saved by Grant at the other end, but the visitor continued to look more purposeful and Giannelli Imbula - recalled to the side in one of five changes - came so close with a blistering long-range strike that just missed the top corner.
Watford lost Younes Kaboul to injury midway through the first half, with Christian Kabasele coming on – and their afternoon got worse when Stoke took the lead in the 29th minute.
Shaqiri's corner was met by Adam six yards out and the midfielder's header hit the post before bouncing in off the legs of Gomes.
Stoke squandered a great chance to double their lead early in the second period, Marko Arnautovic over-hitting his square pass as he attempted to set up Jonathan Walters after a fast break.
Walter Mazzarri responded to his side's struggles by bringing on striker Odion Ighalo, who had only netted once in 10 league games this season, with Stefano Okaka joining him in coming off the bench.
But the charge for an equaliser did not materialise in the second half, Britos's looping header punched away by Grant and Janmaat firing over in their only efforts of note.
Troy Deeney had scored in each of his two previous outings against Stoke, but he headed off target in the final minutes as the visitors Stoke extended its run to 15 points from its last eight games.
Watford's misery was compounded when Britos – who had been booked in the first half – was shown another yellow in the last minute for tugging back Shaqiri.