The away side, shocked by the early concession, went on to get three chances in the following six minutes, but Manuel Almunia was able to thwart the danger.
However, Blackburn did eventually equalise when, just before the half-hour mark, Almunia mishit a clearance straight to David Dunn, who proceeded to volley home.
The visitors then took the lead just after the hour when Craig Conway fired home following some good play from Dunn.
The Hornets thought that they had broken Blackburn hearts when, with just two minutes left of the game, Cristian Battocchio fired home past Paul Robinson. However, in the third minute of injury time, Rudy Gestede struck a powerful header past Almunia to shock Vicarage Road and send the away fans into raptures.