Swansea City have only lost one of their last seven Championship matches against Watford
Ben Cabango's header in time added on saw Slaven Billic suffer a defeat in his first home game as Watford boss.
Watford led at the interval thanks to Ismaila Sarr's 34th-minute opener as he finished from close range.
The visitors equalised on 52 minutes when Olivier Ntcham's deflected effort from 20 yards gave Swansea parity.
Cabango headed Swansea ahead seven minutes into 17 minutes of added time after the match officials' technology failed and ensured a very late finish.
The win lifts Swansea into the Championship play-off positions for the first time this season as they rise to sixth ahead of the visit of Sunderland, with Watford falling to 10th before a trip to Blackpool.
Unsurprisingly after a resounding 4-0 win at Stoke City in his first game as Hornets boss, Billic opted to select an unchanged side for the visit of Russell Martin's side.
The visitors made two changes from Saturday's thrilling 3-2 win at West Bromwich Albion, with Ntcham and Michael Obafemi - who came off the bench at the Hawthorns to score Swansea's equaliser and winner respectively - preferred to Luke Cundle and Oli Cooper.
Billic was greeted warmly for his first game in charge at Vicarage Road, as he looked to emulate his three most recent predecessors, Vladimir Ivic, Xisco Munoz and Rob Edwards, in winning his first Watford home game.
There was little sign of either side winning, scoring or even testing the opposition goalkeeper in a tactical opening half-hour, but it was the hosts who slowly found their feet as the half wore on.
Keinan Davis was the first player to produce a shot on target as he beat Nathan Wood and fired at the Swansea goal, but Steven Benda was able to save with his feet.
However, Swansea's reprieve was not a long one as they fell behind just moments later. Ken Sema's trickery saw him beat Kyle Naughton and produce an inviting cross that Sarr smashed home.
Swansea thought they had equalised on 42 minutes when Daniel Bachmann spilled Matt Grimes' shot and Obafemi buried the rebound, but the linesman's flag for offside denied them.
Watford almost doubled their lead before the break when more hesitancy from Naughton saw Yaser Asprilla race clear and round Benda, but Wood denied a certain goal with a fine piece of last-gasp defending.
It took Swansea only seven second-half minutes to make Watford rue Asprilla's missed chance, as Grimes' fine progressive run allowed Ntcham space and his deflected effort from 20 yards deceived Bachmann.
For so long defensively impressive at Vicarage Road, Swansea's equaliser continued a recent trend of the Hornets conceding at home.
Watford have conceded seven goals in their last four league games at Vicarage Road, more goals than they conceded at home in their previous 19 Championship games.
Neither side was content to play for a point and Hassane Kamara came close to putting the Hornets back in front on 70 minutes, but Benda smothered his close-range effort.
Watford saw a penalty appeal rightly waved away with 10 minutes remaining as tempers flared in the dug-outs, before a lengthy delay caused by the officials' technology failing prompted anger from both sets of supporters.
That saw 17 minutes of time added on, so there was a decent chance of a winning goal even after Piroe's tame shot at Bachmann on 89 minutes failed to produce what looked likely to be a goal after Ryan Manning's set-up.
However, another Manning cross did provide the winner as Cabango headed home, unmarked, from his teasing cross.
The 97th-minute goal still gave the Swans 10 minutes to navigate, but Watford were unable to respond until the final minute of added on time when they saw a penalty appeal ruled out after a handball in a crowded penalty area.
It took an age for the decision to be made by the officials - a freekick awarded to Swansea - with the match eventually finishing after 21 added on minutes.
- Line-upsMatch StatsLive Text
Line-upsWatford
Formation 4-2-3-1
1Bachmann3Pérez MartÃnez27Kabasele31Sierralta14Kamara4Choudhury39Kayembe23Sarr18Asprilla12Sema7Davis
- 1Bachmann3Pérez MartÃnezSubstituted forMorrisat 61'minutes27Kabasele31SierraltaSubstituted forPollockat 79'minutes14Kamara4Choudhury39Kayembe23Sarr18AsprillaSubstituted forLouzaat 56'minutesBooked at 90mins12Sema7DavisSubstituted forBayoat 79'minutes
Substitutes
- 6Louza16Gosling19Bayo32Pollock35Okoye36Hungbo42Morris
Swansea
Formation 3-4-2-1
13Benda23Wood26Naughton5Cabango29Sorinola4Fulton8Grimes3Manning17Piroe10Ntcham9Obafemi
- 13Benda23WoodBooked at 90mins26NaughtonSubstituted forDarlingat 90+11'minutesBooked at 90mins5Cabango29SorinolaSubstituted forLatibeaudiereat 78'minutesBooked at 90mins4FultonBooked at 90mins8GrimesBooked at 67mins3Manning17Piroe10NtchamSubstituted forCooperat 71'minutes9Obafemi
Substitutes
- 1Fisher6Darling18Cundle21Oko-Flex22Latibeaudiere24Stevens31Cooper
Referee:Tim RobinsonAttendance:17,231Match StatsHome TeamWatfordAway TeamSwanseaPossessionHome49%Away51%ShotsHome9Away12Shots on TargetHome4Away4CornersHome1Away6FoulsHome18Away12Live Text Post update
Match ends, Watford 1, Swansea City 2.
90'+21'Full Time
Second Half ends, Watford 1, Swansea City 2.
90'+19'Post update
Nathan Wood (Swansea City) wins a free kick in the defensive half.
90'+19'Post update
Foul by Matthew Pollock (Watford).
90'+18'Booking
Nathan Wood (Swansea City) is shown the yellow card for a bad foul.
90'+18'Post update
Foul by Nathan Wood (Swansea City).
90'+18'Post update
Vakoun Issouf Bayo (Watford) wins a free kick on the left wing.
90'+17'Booking
Joel Latibeaudiere (Swansea City) is shown the yellow card.
90'+16'Booking
Jay Fulton (Swansea City) is shown the yellow card.
90'+16'Post update
Foul by Joel Latibeaudiere (Swansea City).
90'+16'Post update
Ken Sema (Watford) wins a free kick in the defensive half.
90'+14'Booking
Harry Darling (Swansea City) is shown the yellow card.
90'+14'Post update
Joel Latibeaudiere (Swansea City) wins a free kick in the defensive half.
90'+14'Post update
Foul by Christian Kabasele (Watford).
90'+13'Post update
Foul by Oliver Cooper (Swansea City).
90'+13'Post update
Hassane Kamara (Watford) wins a free kick in the attacking half.
90'+12'Booking
Imrân Louza (Watford) is shown the yellow card for a bad foul.
90'+12'Post update
Ryan Manning (Swansea City) wins a free kick in the defensive half.
90'+12'Post update
Foul by Imrân Louza (Watford).
90'+11'Substitution
Substitution, Swansea City. Harry Darling replaces Kyle Naughton.
Page 1 of 6rewindpreviousNavigate to the next pagenextNavigate to the last pageforward
Source: bbc.com