Bradford City guaranteed First Division football next season when they bagged all three points against Watford.
The Bantams, with only one win out of their last 7 matches at Valley Parade, started brightly, forcing Watford to concede two corners in the first two minutes.
At the other end, Allan Nielsen delivered a fine cross to the back post but Watford failed to capitalise.
Gus Uhlenbeek then linked up well with Andy Gray, ran into the box and whipped over a cross from the byline but Watford were spared when it sailed agonisingly over Claus Jorgensen's head.
City didn't have to wait long though to break the deadlock. Simon Francis struck a low shot that was blocked by Alex Chamberlain at his near post, and after the ball broke clear Laurens Ten Heuvel crossed from the left to find Jorgensen who placed his header into the right corner.
Watford were unlucky not to level eight minutes later when Micah Hyde struck the ball sweetly from 22 yards. Aidan Davison was beaten but the shot clipped the top of the bar and went over.
City came close to doubling their lead when Jorgensen's fierce shot took a deflection and dipped over the bar for a corner, but it was the visitors who hauled themselves back into the game thanks to some quick thinking by Heidar Helguson three minutes before the break.
The big hit man picked up Hyde's pass and, after seeing Davison rush off his line, lofted the ball over the keeper to score from 20 yards.
But moments later, Bradford restored their lead from the penalty spot.
Gray stepped up to wrong foot Chamberlain with a low strike into the bottom right corner for his 15th goal of the season after Shaun Dyche was adjudged to have brought down Jorgensen in the box.
In the second half, Watford almost seized on a defensive mix up between Davison and Robert Molenaar, but Helguson spared their blushes with a wayward shot, while Lewis Emanuel had a chance to stretch City's advantage after 57 minutes but Chamberlain denied him with a fine block at his feet.
Davison comfortably saved a 22 yard free-kick from Lee Cook while defender David Wetherall almost snatched a late goal for City with a powerful close-range header which narrowly missed the target.