The Burnley striker, on as a 79th-minute substitute, struck three minutes into stoppage time as Sean Dyche enjoyed a happy return to Vicarage Road.
The former Hornets boss enjoyed the perfect start as his side took the lead after just 39 seconds thanks to Charlie Austin, who went on to make it 28 for the season from the penalty spot after Troy Deeney had equalised.
But Fernando Forestier levelled again at the end of a crazy first half hour and then fired Watford ahead after the break.
However, Vokes had the final say with his dramatic leveller as Burnley snatched an unlikely point.
Austin’s early opener came when Ross Wallace’s initial shot was blocked, the ball falling perfectly for the striker to tuck in the rebound.
The lead lasted only five minutes, however, before Ikechi Anya fed Deeney, who curled in a fine equaliser from the edge of the area.
Austin struck again in the 24th minute after Marco Cassetti had tripped former Hornets loanee Alex Kacaniklic and Austin crashed his penalty down the middle and into the roof of the net.
But once again Burnley let their lead slip within five minutes, this time with centre-half Fitz Hall the unlikely creator. His clever pass played in Forestieri, who jinked inside Jason Shackell in the area before rifling his angled shot past Grant.
Deeney had his chances after the break to put the home side in front, the striker inches from prodding Nathaniel Chalobah’s low cross into an open goal, before his header was saved by Grant.
But Forestieri found a way through in the 72nd minute when he curled in a cross from Cristian Battochio.
That looked like being enough to ensure Watford leapfrogged Hull into the automatic promotion places, until Vokes latched on to Austian’s header in injury time and slotted in the equaliser.