Watford 3-2 Leicester City
Watford substitute Craig Forsyth struck 10 minutes from time to to extend the Hornets' unbeaten run to four games.
Adrian Mariappa headed Watford into a fifth-minute lead, but Leicester recovered with two goals in seven minutes from striker David Nugent.
A deflected free-kick from Sean Murray made it level in the 34th minute.
The Foxes dominated the second half but Forysth scored against the run of play before Watford's Lloyd Doyley was sent off in injury time.
Watford manager Sean Dyche made his first change in four games with Troy Deeney missing out because of a hamstring injury.
But it did not seem to upset his side, who grabbed an early lead when highly-rated defender Mariappa headed the opener, powering home Murray's free-kick.
Joe Garner could have doubled their lead but was denied well by keeper Kasper Schmeichel before Leicester broke to the other end to equalise in the 12th minute.
Former England striker Nugent was fed by Jermaine Beckford before cutting inside to fire a low shot into the bottom corner.
Seven minutes later, Beckford teed up Nugent again and his strike partner smashed a fierce strike past Scott Loach.
Watford were back on terms after Matt Mills brought down Alex Kacaniklic on the edge of the box and teenager Murray stepped up to score his first senior goal, with the aid of a deflection that deceived Schmeichel.
Leicester wasted a number of golden chances to regain the lead, defender Wes Morgan and Beckford heading wastefully off target.
Loach then spilled a Beckford shot, but Nugent could not react in time to grab his hat-trick.
And they were made to pay when a raking pass from John Eustace picked out Forsyth, who rifled the ball past Schmeichel.
Leicester's Richie Wellens almost levelled again but blasted over with five minutes to go, before Lloyd Doyley picked up a red card for hauling down Beckford as he raced in on goal.
Watford boss Sean Dyche: "It was a great win against a very powerful squad, let alone side, that have been put together for multi-millions.
"We knew it would be a tough task and it was sure to be with a couple of quality finishes but out lads have built a great resolve.
"The feel of the team and the fans here and their connection is really important to what we do and it was a good night for all."
Leicester boss Nigel Pearson: "We need to be better and more efficient and more consistent - simple as that.
"The goals that we conceded were poor goals. We didn't start the game well enough, scored two exceptionally good goals and that should be enough to win the game but we've made some poor decisions on the night and it's cost us dearly.
"We know their style of play, they do it very well, but when we played football in their half we caused them all sorts of problems."