The 24-year-old had been offered a contract renewal at the Tulloch Caledonian stadium but has been persuaded by Barnsley boss Lee Johnson to try his luck in Yorkshire.
Watkins scored nine goals for John Hughes’ side last season, including the opening goal in Inverness’ 2-1 Scottish Cup final win against Falkirk on May 30.
Watkins told the League One club’s website: “I’m delighted. I had a good, positive meeting with Lee Johnson and I was really impressed with what he had to say and where he wants to go. I’m excited to be a part of it.
“It was awesome to score in a cup final. It was a great way to end and I hold Inverness close to my heart. I just want to come to England and prove myself down here then aim as high as possible. I want to be a success with Barnsley.”
Watkins, who began his career at Cheltenham and also had spells with Bath City and Hereford United, spent two years with Inverness, making 59 appearances in total for the club.
Meanwhile, Danny Devine, who joined Inverness after leaving Wrexham in 2013, has signed a new one-year contract in the Highlands.