Yakubu and Jeffrey Bruma both scored twice as Leicester kept their slim play-off hopes alive and ended Watford's chances.
Marvin Sordell fired into the top corner to put Watford ahead but Leicester equalised a minute later when Chelsea loanee Bruma struck.
Sordell drilled in a second but substitute Yakubu took advantage of an error from keeper Scott Loach to level.
Bruma smashed a 35-yard strike into the corner before Yakubu lobbed a fourth.
Leicester are six points adrift of sixth-placed Nottingham Forest with two games to play, meaning the play-offs, while achievable, are unlikely this season.
But Sven Goran Eriksson's side appear determined to end the campaign on a high.
Leicester could have scored in the fifth minute but Angelo Miguel Vitor failed to direct Paul Gallagher's corner on target.
Darius Vassell, recalled by Eriksson at the expense of Yakubu, hassled the Hornets defence before Patrick Van Aanholt smashed a 30-yard strike over the crossbar.
Watford suffered an early blow when Andreas Weimann hobbled off and was replaced by Sordell as the Foxes started to dominate.
Leicester almost broke the deadlock but Loach brilliantly parried away a Gallagher free-kick from long range.
However, despite all the home side's early pressure, it was the Hornets who opened the scoring after 27 minutes as substitute Sordell drilled the ball into the top corner from 20 yards.
Leicester equalised only a minute later when Bruma spectacularly fired into the bottom corner from 30 yards.
As the game sparked into life, Watford regained their one-goal advantage after 40 minutes when Sordell punished poor City defending and drilled in his second goal of the half from 18 yards.
The Foxes were aggrieved not to be awarded a penalty on 52 minutes as Vassell went down in the area before Andy King fired over the bar after a neat cut-back from Van Aanholt.
Danny Graham went up the other end and almost put the game to bed but his header was well saved by Chris Weale before Loach denied Vitor as Leicester upped the ante.
Yakubu, who came on for the injured Ritchie Wellens, took advantage of a horrible error from Loach to level things up at 2-2 after 62 minutes.
The home side looked the livelier of the two teams and went in front for the first time when Bruma smashed a stunning 35-yard strike into the top corner after 72 minutes before Yakubu added a fourth a minute later - the Nigerian lobbing the ball into the net after Loach parried Andy King's strike.