On 26 July 2016, Şahin joined FC St. Pauli for one year with an option to sign permanently.[3][4] In May 2017, the club announced they had exercised the option to sign him permanently with Şahin agreeing to a contract until 2021. The transfer fee paid to İstanbul Başakşehir was reported as €2 million.[5] On 25 January 2019, he joined Ingolstadt on loan until the end of the season.[6]He was released by St Pauli in October 2019 after posting comments supporting Turkish soldiers in Syria.[7]
After the release, he joined Turkish side Kayserispor on a free transfer until the end of the season.[8]
On 6 August 2020, Şahin joined rival Gaziantep, on a 3-year deal.[9]
In October 2019 Şahin stated open support for the Turkish operation in Northern Syria: "We stand on the side of our heroic military and the armies. Our prayers are with you!" This caused negative reactions among the fans of St. Pauli.[13] Following the uproar, the club took the decision to release the player from the club even though his wages would be paid.[14]