Barnetta started his career with St. Gallen in his hometown but was soon snapped up by German side Bayer Leverkusen in January 2004. During his first season at Bayer, he had a loan spell at Hannover 96, returning to Bayer in March 2005.
After a good showing at the World Cup in Germany, Barnetta became a regular in the Bayer squad. The 2008–09 season was one to forget for him, after Bayer finished two places lower than the previous season and his goals tally dropped slightly. During the summer transfer window, he was linked with a move away from Bayer as his place in the squad seemed under threat from loanee Toni Kroos. Barnetta regained his good form in the 2009–10 season, scoring a brace in only his second league game of the season and contributing to Bayer's unbeaten run for the entire first half of the season. In the 2013–14 season, Barnetta had a season long loan spell at Eintracht Frankfurt, returning to Schalke 04 in June 2014 whom he signed for at the end of the 2011–12 season.
On 2 July 2012, after his contract ran out at Bayer Leverkusen, FC Schalke 04 confirmed that Tranquillo Barnetta signed a three-year professional contract with them until 30 June 2015, and in in preparation for the Gelsenkirchen club's participation in the Champions League. The transfer was reported as a free transfer by Schalke's sport and communications manager Horst Heldt. Tranquillo Barnetta was assigned a number 27 shirt, previously worn by Ciprian Deac.