Watford substitute Matej Vydra netted a last-minute penalty to condemn bottom club Peterborough to a ninth defeat in 11 Championship games this season.
Posh midfielder Kane Ferdinand fouled Daniel Pudil and Vydra, one of the Hornets' sizeable loan contingent from Udinese, kept his cool from the spot.
The result leaves Darren Ferguson's men five points from safety.
Watford's Nathaniel Chalobah hit the post, with Tyrone Barnett heading over Peterborough's best chance.
The Posh made a bright start at Vicarage Road, with front pair Emile Sinclair and Barnett looking lively, without being able to test home goalkeeper Manuel Almunia.
Almen Abdi and Marco Cassetti responded for Watford, but their off-target efforts were no more than speculative with neither goalkeeper overly extended before half-time.
Watford came agonisingly close to breaking the deadlock as the hour approached when Chalobah fired right-footed from the edge of the box and rattled the post with Posh goalkeeper Robert Olejnik helpless.
Striker Fernando Forestieri, recalled by Hornets boss Gianfranco Zola, twice wasted chances from close quarters as the visitors were pushed on to the back foot.
Eventually the pressure told as Pudil was hacked down and Czech striker Vydra fired in a low penalty past Olejnik to move Watford up to 13th place.
Watford manager Gianfranco Zola:
"It was a tough game because, first of all, we played against a team that in my opinion doesn't deserve to be in that position.
"They really played well and made it difficult for us and also because they play the same system we do.
"So in those circumstances you have to wait until maybe one of your better qualities comes out on top.
"Sometimes that's not going to happen in the first half because everyone's on a good fitness level but then as the game goes along you have more chances."
Peterborough boss Darren Ferguson:
"It is a really terrible way to end the game because they had 15 minutes in the second half where they've come on strong.
"The little boy (Fernando Forestieri) up front caused us problems, too many problems for my liking so we made the change and got back in the game.
"Grant (McCann) got control of the game, he got on the ball, and Saido (Berahino) did very well when he came on and I could only see one winner.
"If not that then a nil-nil, but we're not really renowned for a nil-nil."