The striker, 24, joins North End as a free agent following his release by the Hornets and links up with the club he supported from his childhood, with his family still season ticket holders at Deepdale.
Garner was signed from Nottingham Forest for an undisclosed fee in the summer of 2011 and made 24 appearances last season, although chances were harder to come by at the start of this term and he managed just three outings.
He joined former club Carlisle on loan in September and spent three months at Brunton Park, scoring eight goals, until his recent return to Vicarage Road.
The Cumbrians had been keen to make Garner a permanent signing but he has instead opted to join Preston.
- Sports & Recreation