The 22-year-old has impressed for the Hornets sinces arriving on loan last summer, and he has scored three goals in his 15 appearances.
Forestieri has now vowed to "give my heart" for the club as he continues to develop his career under the watchful eye of Watford boss Gianfranco Zola.
"I'm unbelievably happy to be signing for Watford," Forestieri said. "I have enjoyed the town and the club so far, as well as the support of the fans.
"Life feels good at Watford and it feels like home. I love working with people here and I feel protected.
"I would like to thank Lucas (my agent), as well as Gianluca Nani, Scott Duxbury and the staff from Watford for their help and support.
"I will give my heart for the club."