Welsh international Watkins has been at Norwich for just one season, scoring once in 27 games. He made his debut for his country in November of last year, in a 1-1 draw with Panama.
The 27-year-old joins Bristol for an undisclosed fee, becoming the first signing of the summer for the 'Robins'.
"Having worked with Marley before, I know he will add to our front foot and pressing style of play," manager Lee Johnson said, speaking with the club's official website.
"His work-rate is superb, he's exactly the kind of player we want at the club and we welcome him to the Bristol City family."
June 15, 2018