It came as a bitter pill to swallow for Sean Dyche’s Hornets, who missed a penalty of their own with just two minutes of normal time remaining.
Wolves loanee Michael Kightly scored the opening goal after 28 minutes and the hosts should have put the result beyond doubt but Marvin Sordell saw his spot-kick saved by Alex McCarthy before Snodgrass showed him how it was done deep into stoppage time, netting his fourth goal in three games.
Troy Deeney’s early acrobatic effort hit team-mate Sordell as the hosts started much the brighter. Patrick Kisnorbo did well to nullify the threat of Kightly as the midfielder shaped to shoot moments later.
The visitors’ first sight of goal saw Danny Pugh lift a left-footed 20-yard effort over the bar with 10 minutes on the clock.
But they were soon on the back foot again and when Kightly got the better of Kisnorbo he unleashed a superb angled effort into the bottom corner from the edge of the area.
With their tails up, the Hornets pressed again but Prince Buaben picked the wrong option when he tried to play Sordell in despite the fact Kightly was in acres of space.
Recent away wins at Leicester, Burnley and Nottingham Forest, combined with the fact they occupied a play-off spot, made Leeds strong favourites for this game but they struggled to find their rhythm in the first half.
However, influential midfielder Snodgrass was presented with a great chance to level the scores before half-time but his chipped effort comfortably cleared the bar.
And it took a brilliant piece of defending from Nyron Nosworthy to deny Luciano Becchio as he looked to get on the end of Paul Connolly’s teasing cross.
Simon Grayson was spurred into making a change around the hour mark after seeing Sordell spurn an opportunity to double Watford’s lead, firing over the bar after his own excellent work left him one-on-one with McCarthy.
The United boss introduced 11-goal top scorer Ross McCormack as he tried to rally his side for a late charge.
Connolly picked out McCormack within a few minutes of his arrival but the striker planted a firm header over the bar.
Recognising the growing threat being posed to his side, Dyche withdrew goalscorer Kightly from the action and put midfielder John Eustace on to add some defensive know-how.
But just as the home side were beginning to focus on holding on to their lead, Kisnorbo’s foul on Sordell in the area gave them a chance to add to it.
Sordell picked himself up to take the 88th-minute penalty but saw it tipped onto the post by McCarthy before being smuggled away.
Leeds pressed late on and forced a penalty in the last attack of the game as Nosworthy brought down substitute Mika Vayrynen.
Snodgrass stepped up and powered it home to extends Leeds’ unbeaten run on the road to four games.