Forestieri has spent the first half of this season as one of many players on loan at Vicarage Road from Italian outfit Udinese, who are also run by the Championship club's owners the Pozzo family.
The Argentina-born 22-year-old has bagged three goals in 15 appearances for the Hornets, who have now secured his services on a long-term deal.
"I'm unbelievably happy to be signing for Watford," he told the club's official website. "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 will give my heart for the club."
Watford boss Gianfranco Zola was also also delighted to complete the deal.
The Italian said: "This is very positive news for the club. Fernando has done extremely well in a short spell with us so far.
"Like the other young players who have recently signed contracts with the club, they are the future of the club.
"Everybody can see how good Fernando can be and we'll be working hard with him to improve further."