Leicester were quick out of the starting blocks, with Vardy stinging Orestis Karnezis's palms with a ferocious 20-yard drive, before Shinji Okazaki met the rebound with a diving header which went over.
Karnezis had to be alert again a few moments later as he put Wilfred Ndidi's header behind for a corner, while at the other end, Andre Carrillo tested Kasper Schmeichel with a tentative effort from range.
Claude Puel's charges were duly rewarded for their dominance when they were given the chance to open the scoring from the spot after former Foxes man Wague tripped up his former teammate in the box.
The England international stood up and opted to take the penalty himself, slotting the ball into the bottom-right corner to break the deadlock for the hosts, a lead they would hold at the half-time mark.
Marco Silva's charges continued to struggle after the restart as Okazaki tested Karnezis with a close-range effort following Vardy's cutback, while Ben Chilwell's ball was frantically cleared by Marvin Zeegelaar on the hour mark before Vardy could convert.
Andre Gray had the visitors' best opportunities to get on the scoresheet but Schmeichel was equal to his efforts, before Mahrez made sure of all three points with a left-footed shot from a tight angle late on.
LEICESTER CITY (4-4-1-1): Schmeichel; Amartey, Dragovic, Maguire, Chilwell; Mahrez, Ndidi, James, Albrighton; Okazaki (Gray 61'); Vardy (Silva 89')
WATFORD (4-2-3-1): Karnezis; Janmaat (Okaka 81'), Wague (Prodl 61'), Kabasele, Zeegelaar; Watson, Doucoure; Carrillo, Pereyra (Gray 60'), Richarlison; Deeney