Brentford's win at Bournemouth earlier in the day meant that only three points would be good enough for Xisco Munoz's Hornets to be promoted alongside Norwich, who came down with them last season.
Millwall came close on a number of occasions to delaying a promotion party that traditionally sees Hornets fans jump in a town centre pond, but Watford hung on.
Xisco made a single change to the side that had won at already-promoted Norwich on Tuesday, with Kiko Femenia returning from a ban at right-back to oust Craig Cathcart. Millwall made three changes to the line-up that lost 4-1 at home to Bournemouth the day after.
Jed Wallace forced Watford goalkeeper Daniel Bachmann into a routine save in the opening exchanges that were brought to life by a penalty awarded to the hosts in the 10th minute.
Femenia's burst forward saw the Spaniard exchange passes with Sarr, who was brought down just inside the box on the right by Billy Mitchell's lunge.
Sarr stepped up to slot the spot-kick past goalkeeper Bartosz Bialkowski with ease a minute later.
Millwall looked lethargic but Bialkowski was able to get behind Dan Gosling's header from a free-kick conceded by Mason Bennett's challenge on Sarr.
Joao Pedro saw a shot blocked from another move that opened up the Lions and Will Hughes was only just off target from a half-cleared corner.
Set-pieces seemed the most likely source of Millwall retaliation, with Tom Bradshaw firing just wide from a free-kick Watford could not get away.
Femenia had to go off after half an hour after ending up on the turf in front of the dugouts and - suddenly - Millwall twice went close to an equaliser in a matter of seconds. Bachmann dived to parry Mitchell's shot before Bennett's deflected effort clipped the bar.
The half ended with Millwall on top but still trailing, and the second soon saw Bradshaw clip an effort just over the Hornets' goal.
Bennett was back within seconds for another shot that was too high and the Hornets were caught out again when Bradshaw got in behind Francisco Sierralta but Scott Malone was unable to profit from the cross that followed.
Watford made a double change on the hour, with Nathaniel Chalobah and Andre Gray coming on, and felt they should have been awarded another penalty straight away when Sarr went down under Mahlon Romeo's nudge in the back.
Bachmann had to claw away Bradshaw's deflected header from yet another free-kick, while Gray saw a glancing header saved at the other end.
Watford looked nervous but held out to celebrate referee Dean Whitestone blowing the final whistle