He began his career at Borussia Dortmund, spending six years there and winning the Bundesliga in 2011 – including a year-long loan at Feyenoord – before signing for Real Madrid in 2011 for €10 million. In August 2012, Şahin agreed to a one-year loan deal with Liverpool, which was terminated in January 2013 to allow him to return to Dortmund on an 18-month loan. This was then made permanent, and he stayed at Dortmund until his transfer to Werder Bremen in August 2018.