The visitors started well and dominated the ball in the opening stages, while creating some half chances. But after failing to make it count, Watford came back fighting and could have taken the lead with some good opportunities.
The second half started slowly from both sides before Wolves got back into their stride and began to look after the ball better and push the hosts back into their own half.
Eventually, after failing to score from a number of chances, a Fernando Marcal cross following a short corner in the 74th minute was headed into his own net by Francisco Sierralta, sending the travelling supporters wild and handing Wolves the lead.
Hwang Hee-chan, on his Wolves debut, then added a second goal to secure the three points for Wolves and intensify the party atmosphere in the away end.
Bruno Lage named an unchanged starting XI following the 1-0 loss to Manchester United before the international break, sticking with the 3-4-3 formation.
Raul Jimenez led the line for Wolves after Mexico withdrew their complaint to Fifa and allowed him to play.
Willy Boly, who returned from injury on the bench against United, kept his place among the substitutes. He was joined by fellow defender Yerson Mosquera, who has recovered from a hamstring strain, and new signing Hwang.
Xisco Munoz made two changes to his Watford side, starting in a 4-1-4-1 formation.
Two new full-backs joined the starting XI in Jeremy Ngakia and Danny Rose. The more agile Ngakia came in to replace Craig Cathcart and was tasked with dealing with Adama Traore.
In a similar situation to Jimenez and Wolves, Sierralta was given permission to play in this fixture by Chile. The centre-back started the game.
With the travelling support in full voice, Wolves started well and had some early efforts on goal. A brilliant cross-field ball from Conor Coady allowed Nelson Semedo to set up Marcal, but his shot was poor.
Shortly after, Traore skipped beyond three Watford men and set up Ruben Neves, but his shot was deflected wide. The resulting corner came to nothing.
It was one-way traffic for Wolves who were easily mopping up any Watford attempts to get forward and instantly springing attacks of their own.
But shortly after the 15th minute mark, a rare foray forward from Watford saw Ismaila Sarr neatly feed Moussa Sissoko on the right side. He raced into the box and stung the palms of Jose Sa at the near post, but his strong save denied the hosts.
Sarr and Sissoko then combined again and the latter’s cross was almost turned in by Josh King. The striker got the run on Coady but failed to make firm contact with the ball.
By the 25th minute Wolves had relinquished their early control of the game and it was more of an end-to-end contest. Some poor hold-up play from Jimenez allowed Watford to release Emmanuel Dennis into the box and his cross was palmed away from danger by Sa.
Wolves were able to settle down in the minutes that followed and had some opportunities - with a 20-yard effort from Francisco Trincao the highlight after he danced past two players. But overall the final, crucial ball was still lacking.
With five minutes left of the half, the hosts should have scored. A one-two between Sissoko and Sarr saw the latter race into the box and his low cross was wide of the far post, while King was just short of meeting it as he slid in.
At the other end, a mazy run from Trincao saw him burst up the field and play Semedo in on goal, one-on-one with Daniel Bachmann. Wolves should have scored but Semedo’s effort was saved by the goalkeeper. Romain Saiss’ header from the resulting corner was also saved.
That was the final action of the half as the teams entered the break drawing 0-0. Overall Wolves’ performance was good, but Sarr was causing Marcal and Saiss too many issues on the flank.
As the teams emerged for the second half, Traore and Trincao swapped flanks and it almost immediately paid off. The former got to the byline and delivered a nice cross for Trincao to attack at the far post, but his header was saved well.
In comparison, however, the second half was much quieter by the 60th minute with both sides taking fewer risks.
But Semedo again had a golden opportunity when he was played in one-on-one for the second time in the game, and this time he flashed his effort wide of the post. Hwang was then introduced for Wolves, making his debut.
Wolves began to up the tempo slightly and had another chance through Jimenez, who met Joao Moutinho’s free-kick but diverted his diving header wide.
After 74 minutes Wolves finally made a breakthrough and took the lead. A short corner was played to Marcal and his cross was turned into his own net by Sierralta.
With the game slipping away from the hosts, Wolves put it beyond doubt with a debut goal from Hwang. Substitute Daniel Podence did superbly well to lift a ball into the back post for Marcal to attack and eventually it fell for Hwang to finish from two yards.
Wolves then saw out the game to pick up their first Premier League win under Lage and their first points of the season.
Wolves: Sa, Kilman, Coady, Saiss, Semedo, Neves, Moutinho, Marcal, Trincao (Hwang, 63), Traore (Podence, 81), Jimenez.
Subs not used: Ruddy, Hoever, Ait-Nouri, Boly, Mosquera, Dendoncker, Silva.
Watford: Bachmann, Ngakia, Troost-Ekong, Sierralta, Rose, Etebo (Sema, 77), Kucka, Sissoko, Sarr, Dennis, King (Hernandez, 53).
Subs not used: Elliot, Louza, Masina, Cleverley, Cathcart, Tufan, Kabasele.