Klein began his career in September 1994 in the youth team of
LASK Linz and was promoted to the senior team in July 2004. He played on loan for
FC Blau-Weiß Linz in the 2003–04 season and returned to Linz after the end of the season. After 163 games in 14 years for the club, in which he scored 13 goals, Klein signed a two-year contract with
Austria Wien on 30 April 2009. In 2012, he joined
Red Bull Salzburg. After the end of his contract with Salzburg on 1 July 2014, Klein moved to
VfB Stuttgart on a
free transfer. On 6 May 2014, he signed a contract until June 2017 with the club. He returned to
Austria Wien on 23 August 2017. ==International career==