Rotherham edged into the lead before half time but Watford levelled in the second half before Richie Barker hit the winner.
Third-placed Watford caused problems for Rotherham with their lively approach play but were shaky at the back when the Yorkshire side used their height in attack.
Barker was wide with an early header and Alan Lee rifled a shot wide after Darren Garner did well.
Barker headed over again after a cross from Nick Daws and a Chris Swailes header was off target after a long throw from Rob Scott.
Watford's main threat came from the lively Heidar Helguson but keeper Mike Pollitt was hardly troubled.
Pollitt's poor clearance dropped kindly for Allan Neilsen but his tame shot was gathered gratefully by the keeper.
Rotherham's pressure paid off four minutes before half time. Garner's corner from the right found the head of Martin McIntosh on his return from a two-match injury absence.
The big defender's downward header appeared to brush the legs of team-mate Daws as it beat keeper Alec Chamberlain.
Watford looked sharper after the break and threatened to level with a Neal Ardley free-kick that drifted wide and another effort from Stephen Glass.
But on the hour Watford were back on terms when Ardley crossed after his corner was cleared and Dominic Foley was on the spot to glance his header past Pollitt.
But seven minutes later the home side were back in front when Barker claimed his eighth goal of the season in all competitions.
Lee collected a neat pass from Chris Sedgwick and the striker turned superbly, burst to the by-line before cutting in a low cross for Barker to slot home with a cool shot.
Andy Monkhouse might have added a third goal for the home side, but his late shot was tipped over the top.