The 31-year-old has signed a two-year deal and moves to Vicarage Road for £50,000 after the Hornets activated the relegation clause in his contract at Reading.
Ince scored nine times in 38 Championship outings for the relegated Royal last season, and got a goal and an assist in the 2-2 at the Madejski Stadium in February.
He started his career at Liverpool as a youngster, making his debut as an extra-time substitute in a League Cup tie under the then manager Roy Hodgson in September 2010.
A loan spell at Notts County saw him score his first senior goals and at the end of the 2010/11 season he joined Blackpool, who had just been relegated from the Premier League.
Ince scored 33 times in 113 games for the Seasiders, and won the 2013 Football League Young Player of the Year Award.
The end of the 2013/14 season saw him join Crystal Palace on loan and score his first Premier League goal, and the following summer he moved to Hull City on a free transfer.
He struggled to get game time for the Tigers, who were in the Premier League, but a loan move to Derby County saw him score 11 times in 18 games.
That prompted a £4.75m move to Derby in summer 2015, and over the course of the next two seasons he scored 27 times in 96 appearances.
Ince moved to Huddersfield for the 2017/18 season but managed only three goals in 37 outings, and in July 2018 he switched to Stoke City for a fee of £10m.
Over four seasons with the Potters, he made 103 appearances and scored 14 times.
After a loan spell with Reading during the 2021/22 season, Ince made the move permanently last summer.
Ince is the son of former England, Manchester United, Liverpool and West Ham midfielder Paul Ince, who managed him at both Blackpool and Reading.
While Paul was playing for Inter Milan, the family including Tom (who was three at the time) moved to Italy. During his two years there, Tom learned to speak fluent Italian.
Ince was capped 18 times by England Under-21s, scoring three times. In total, he has made almost 500 senior appearances and scored 105 times.