Success came on for Craig Cathcart in the 82nd minute and was booked three minutes later.
Andre Gray capitalised on an error from Ryan Bennett to equalise for Watford shortly after the restart, but a mistake from Foster allowed Wolves to retake the lead with 13 minutes remaining.
The win moves Wolves moved four points clear of Watford in the race for seventh place in the Premier League.
At Selhurst Park, Everton lost ground in the race for seventh place in the Premier League as they were held to a goalless draw by Crystal Palace.
At the Saint Marys stadium, Southampton got the point they needed to secure their Premier League survival as they drew 3-3 against Bournemouth in an entertaining clash.
Shane Long gave the hosts a deserved 12th-minute lead with a shot that took a deflection off of Nathan Ake following Nathan Redmond’s pass.
But Bournemouth equalised with their first shot of the match when Dan Gosling finished off a quick counter-attack after being set up by Callum Wilson.
Wilson put Bournemouth ahead from a rebound as Angus Gunn could not hold on to David Brooks’ effort.
However, Saints fought back and James Ward-Prowse’s low strike made it 2-2 before substitute Matt Targett headed the hosts in front from Yan Valery’s right-wing cross.
But Wilson grabbed his second – and Bournemouth’s third – late on, bundling the ball home from close range after Ryan Fraser’s run.
At Craven Cottage Cardiff City’s hopes of Premier League survival are hanging by the thinnest of threads after Ryan Babel’s beautiful curling strike consigned them to a 1-0 defeat at already-relegated Fulham.
By Johnny Edward.