Shaun Batt flew off the substitutes' bench to score the only goal and deal Watford's promotion bid another blow.
The Millwall frontman struck with six minutes remaining to condemn Gianfranco Zola's side to back-to-back defeats.
Batt's first Lions goal of the season also secured a first home league win since New Year's Day to boost their bid to avoid relegation, as Millwall emerged from the wreckage of Saturday's infamous FA Cup semi-final by making headlines for the right reasons.
Zola had recalled Championship player of the year Matej Vydra, although the best opportunities fell to his strike partner Troy Deeney.
But the Hornets could not find a way past Lions goalkeeper David Forde before falling to the late sucker punch.
After just two minutes Deeney's shot from the edge of the area flew inches over the crossbar, and five minutes later his effort was saved by the legs of Forde.
Nathaniel Chalobah's lofted pass then sent Mark Yeates clear but again Forde was able to block.
Deeney felt he should have had a penalty after he was bundled over in the box but his appeal fell on deaf ears, and Anya fizzed a low drive wide.
Vydra's first sight of goal came when he robbed Martyn Woolford in Watford's half and galloped the length of the field only for Jimmy Abdou to bravely block his shot.
Watford did not have it all their own way in the first half, though, with James Henry nodding wide from Chris Taylor's cross, while Andy Keogh shopuld have done better with a header from three yards which was too close to Manuel Almunia.
Watford started the second half as they had the first, with Vydra exchanging passes with Cristian Battocchio on the edge of the area before forcing Forde into a save low to his left.
Forde then made an ill-advised charge from goal to collect a long ball, only to miss it completely, but fortunately for him Deeney could only curl wide of an empty goal from the touchline.
Deeney was even closer on the hour mark when Yeates found him with a near-post cross, the striker forcing a point-blank save from Forde with Jimmy Abdou on hand to clear the loose ball off the line.
But for all their dimination, the Hornets could not find a way through.
And six minutes from time Almunia saved Henry's shot, Woolford nodded the rebound back across goal and Batt stroked the ball into the net.