The Hornets keeper put through his own net after a header from Charlie Adam came back off the post and cannoned off his legs.
It was a scrappy goal to settle a scrappy game but Stoke were deserved winners as they bounced back from last week's defeat by Bournemouth.
Boss Mark Hughes had been hit by injuries to Ryan Shawcross and Glenn Whelan as well as a suspension for Joe Allen.
But his patched-up side were still too much for lethargic Watford, who finished with 10 men after a late red card for Miguel Britos as they slipped to a first home defeat since August.
Perhaps the early kick-off had caught Watford napping, but Stoke showed more purpose from the first whistle and Gomes was straight into the action, saving from Bruno Martins Indi and puching Xherdan Shaqiri's follow-up clear
Stoke's club record signing Giannelli Imbula, eager to impress after being recalled for the first time since September, then drove forward from midfield and fired a 20-yard effort narrowly wide.
Watford did manage a couple of long-range efforts from Daryl Janmaat and Etienne Capoue, but Stoke keeper Lee Grant dealt with them comfortably.
Watford's malaise was summed up when an injury to Younes Kaboul was followed by the ridiculous sight of substitute Christian Kabasele taking an age to get ready to come on, leaving his side playing with 10 men for almost five minutes
There was an distinct air of farce about Stoke's goal as well.
From Shaqiri's 29th-minute corner, Adam's downward header struck the foot of the far post and bounced along the goal-line.
Brazilian keeper Gomes was unable to react in time as the ball ricocheted off his knee and rolled into the back of the net.
After the break Stoke forward Marko Arnautovic led a swift counter-attack and played the ball across goal but just too far in front of Jonathan Walters.
Hornets boss Walter Mazzarri sent on striker Odion Ighalo in a bid to inject some life into his side and the Nigerian went close with a back header.
Daryl Janmaat volleyed wide and Troy Deeney, still stuck on 99 goals for the club, planted a header over.
But any hopes of a comeback were ended when Britos was shown a second yellow card for tugging back Shaqiri with a minute remaining.
Source : PA