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."
Live Text Commentary
Full Time The match has reached full-time.90:00 +3:19
Corner taken left-footed by Grant McCann from the right by-line, Mark Little takes a shot. Clearance made by Nathaniel Chalobah. Outswinging corner taken by Grant McCann.90:00 +2:36
Saido Berahino takes a shot. Blocked by Jonathan Hogg.90:00 +1:39 Booking
Booking The referee shows Manuel Almunia a yellow card.90:00 +1:07
A cross is delivered by Mark Little, Headed effort from inside the area by Saido Berahino misses to the left of the target.89:30 Goal scored
Goal! - Matej Vydra - Watford 1 - 0 Peterboro Placed penalty scored by Matej Vydra. Watford 1-0 Peterborough.88:33
Kane Ferdinand gives away a Penalty for an unfair challenge on Daniel Pudil.88:00
The ball is swung over by Mark Little, clearance made by Fitz Hall.87:11 Substitution
Substitution Mark Yeates is brought on as a substitute for Fernando Forestieri.86:40
George Boyd is caught offside. Lloyd Doyley restarts play with the free kick.85:30
Fernando Forestieri takes the free kick.85:30 Substitution
Substitution Alexandre Geijo is brought on as a substitute for Troy Deeney.85:30 Booking
Booking Booking for Grant McCann.85:03
Kgosi Ntlhe sends in a cross, Troy Deeney manages to make a clearance. Matej Vydra fouled by Grant McCann, the ref awards a free kick.84:34
The ball is sent over by Tyrone Barnett, Tommie Hoban makes a clearance.84:11
Kgosi Ntlhe produces a cross, Manuel Almunia makes a save.82:46
Grant McCann takes the direct free kick.82:46 Booking
Booking The referee shows Daniel Pudil a yellow card.82:28
Daniel Pudil challenges Mark Little unfairly and gives away a free kick.80:25
Centre by George Boyd, Tommie Hoban makes a clearance.
The ball is delivered by Saido Berahino, Headed effort on goal by George Boyd from inside the penalty box misses to the right of the goal. Inswinging corner taken left-footed by Grant McCann from the right by-line, Jonathan Hogg manages to make a clearance. Corner from the left by-line taken by Grant McCann, Shaun Brisley takes a shot. Matej Vydra takes a shot. Blocked by Grant McCann.76:29
A cross is delivered by Marco Cassetti, clearance by Shaun Brisley.75:59
Unfair challenge on Daniel Pudil by Grant McCann results in a free kick. Nathaniel Chalobah takes the free kick.74:08
The official flags Matej Vydra offside. Robert Olejnik takes the free kick.72:51
Free kick awarded for an unfair challenge on Kane Ferdinand by Fernando Forestieri. Direct free kick taken by Grant McCann.71:42 Substitution
Substitution Almen Abdi leaves the field to be replaced by Matej Vydra.71:42
Effort from inside the area by Fernando Forestieri misses to the left of the goal.71:00
Unfair challenge on Jonathan Hogg by Saido Berahino results in a free kick. Manuel Almunia restarts play with the free kick.70:19
Jonathan Hogg takes a shot. Blocked by Nathaniel Knight-Percival.69:37
Tyrone Barnett is flagged offside by the assistant referee. Manuel Almunia takes the free kick.68:42
Fernando Forestieri takes a shot. Clearance made by Shaun Brisley.67:25
Nathaniel Chalobah takes a shot from just inside the penalty box which clears the crossbar.66:07 Substitution
Substitution Saido Berahino is brought on as a substitute for Emile Sinclair.65:45
Effort from just outside the box by Grant McCann goes over the bar.64:19
The ball is swung over by George Boyd, blocked by Jonathan Hogg.62:26
Direct free kick taken by Manuel Almunia.62:26 Booking
Booking Kgosi Ntlhe receives a yellow card for unsporting behaviour.62:14
Unfair challenge on Marco Cassetti by Kgosi Ntlhe results in a free kick.60:56
Free kick awarded for an unfair challenge on Tommie Hoban by Emile Sinclair. Direct free kick taken by Manuel Almunia.60:21
Unfair challenge on Fitz Hall by Mark Little results in a free kick. Manuel Almunia takes the direct free kick.59:25 Substitution
Substitution Grant McCann joins the action as a substitute, replacing Craig Alcock.58:13
Effort from the edge of the area by Nathaniel Chalobah hits the post.55:35
Troy Deeney gives away a free kick for an unfair challenge on Kane Ferdinand. Free kick taken by Robert Olejnik.54:59
Outswinging corner taken left-footed by George Boyd, Troy Deeney manages to make a clearance.51:47
Fernando Forestieri produces a right-footed shot from just outside the box that misses to the right of the goal.50:42
Fernando Forestieri has an effort at goal from deep inside the area missing to the right of the goal.50:05
Troy Deeney takes a shot. Robert Olejnik makes a save.49:00
Kane Ferdinand gives away a free kick for an unfair challenge on Almen Abdi. Manuel Almunia takes the direct free kick.48:28
Centre by Daniel Pudil, clearance made by Kane Ferdinand.46:28
Fernando Forestieri takes a shot. Shaun Brisley gets a block in. Nathaniel Chalobah takes a shot. Save by Robert Olejnik. Fernando Forestieri takes a outswinging corner from the right by-line played to the near post, clearance by Mark Little. Corner from the right by-line taken by Fernando Forestieri, Craig Alcock makes a clearance.45:23
George Boyd takes a corner. Shaun Brisley concedes a free kick for a foul on Troy Deeney. Manuel Almunia takes the free kick.45:01
The second half kicks off.45:01 Substitution
Substitution Kgosi Ntlhe on for Tommy Rowe.45:00 +1:34 Half time
Half Time The first half comes to an end.45:00 +0:41
Lloyd Doyley restarts play with the free kick.45:00 +0:41 Booking
Booking The referee cautions Nathaniel Knight-Percival for unsporting behaviour.45:00 +0:32
Free kick awarded for a foul by Nathaniel Knight-Percival on Almen Abdi.44:01
Lloyd Doyley produces a cross, Troy Deeney has an effort at goal from outside the penalty area which goes wide right of the goal.43:10
Centre by Marco Cassetti.42:21
The ball is crossed by Troy Deeney. Craig Alcock fouled by Fernando Forestieri, the ref awards a free kick. Direct free kick taken by Robert Olejnik.38:12
Fernando Forestieri takes a shot. Comfortable save by Robert Olejnik.37:03
The ball is swung over by Daniel Pudil, Mark Little gets a block in. Inswinging corner taken from the left by-line by Fernando Forestieri, Fitz Hall produces a header from inside the six-yard box that clears the bar.36:35
A cross is delivered by Daniel Pudil, Craig Alcock manages to make a clearance.35:38
The ball is sent over by Troy Deeney, clearance made by Mark Little.33:50
Tommy Rowe gives away a free kick for an unfair challenge on Jonathan Hogg. The free kick is swung in right-footed by Jonathan Hogg.30:19
Inswinging corner taken right-footed by Michael Bostwick played to the near post, Lloyd Doyley manages to make a clearance.30:19 Booking
Booking Troy Deeney is shown a yellow card for unsporting behaviour.28:53
Outswinging corner taken left-footed by George Boyd, Daniel Pudil manages to make a clearance.27:11
Marco Cassetti crosses the ball.25:20
Corner taken right-footed by Fernando Forestieri. Fitz Hall gives away a free kick for an unfair challenge on Shaun Brisley. Robert Olejnik takes the direct free kick.23:03
Mark Little sends in a cross, Header from deep inside the penalty area by Tyrone Barnett goes harmlessly over the crossbar.17:40
The official flags Jonathan Hogg offside. Free kick taken by Robert Olejnik.14:32
The ball is delivered by Emile Sinclair, clearance by Tommie Hoban.14:12
The ball is delivered by Marco Cassetti, clearance made by Mark Little.11:41
Michael Bostwick challenges Fernando Forestieri unfairly and gives away a free kick. Fernando Forestieri sends in a cross, Effort from outside the penalty box by Marco Cassetti goes wide right of the target.10:11
Effort from just outside the box by Almen Abdi goes over the bar.8:32
The assistant referee signals for offside against Troy Deeney. Free kick taken by Nathaniel Knight-Percival.8:01
A cross is delivered by Marco Cassetti, clearance by Shaun Brisley.5:01
Tommy Rowe produces a cross, save by Manuel Almunia.4:40
The ball is delivered by Mark Little, save by Manuel Almunia.4:30
Craig Alcock sends in a cross, Fitz Hall manages to make a clearance.3:23
A cross is delivered by Emile Sinclair, Lloyd Doyley makes a clearance.1:20
Shaun Brisley fouled by Troy Deeney, the ref awards a free kick. Direct free kick taken by Robert Olejnik.0:13
Emile Sinclair crosses the ball, blocked by Daniel Pudil. Corner taken by George Boyd, Headed effort from deep inside the penalty area by Tommy Rowe goes harmlessly over the crossbar.0:00
The match begins.
Live data and text provided by our data suppliers