Stahl was born Hardheim, Baden-Württemberg,[2] but grew up in Osterburken.[3] He joined 1860 Munich at youth level in 2004, after playing for SV Osterburken, TSV Tauberbischofsheim and 1899 Hoffenheim.[2] He progressed through the academy, before moving up to the under-23 team in the Regionalliga Süd in 2007.[2][4] He would also go on the win the DFB Youth Cup with the under-19 team the same year.[5]
Stahl made his first appearance for the reserves in the Regionalliga Süd on 24 February 2007 in a 2–1 away loss against Karlsruher SC II, starting the game before being substituted in the 70th minute for Ralf Schmitt.[6] In the summer of 2009 he was appointed captain of the under-23 team.[3]
After making 13 appearances as a starter in the Regionalliga Süd during the 2009–10 season,[7] Stahl was called up to the first team for the 2. Bundesliga game of 1860 Munich away against Energie Cottbus on 8 November 2009. There, he made his professional debut as part of Die Löwen's starting line-up at Stadion der Freundschaft as his team lost 1–0.[8] In March 2010, he extended his expiring contract with the club until 2012.[9]
In the 2010–11 season, Stahl established himself in defensive midfield, winning the starting position from Florin Lovin.[10] On 30 October 2010, he scored his first professional goal in a game in Karlsruher SC, followed by two more goals in the course of the season.[11] He made a total of 22 appearances that season, with another three games played for the under-23 team in October 2010.[11]
In September 2011, Stahl signed another two-year contract extension, keeping him at 1860 Munich until 2014.[12][13]
Stahl experienced a particularly strong start to the 2013–14 season, as he managed to score the game-winning goal in four consecutive matches in November and December 2013.[14][15]
Stahl's contract with 1860 Munich expired on 30 June 2016 and was not renewed, which meant that he left the club after 12 years, in which he made a total of 131 appearances and 10 goals.[16]
SpVgg Unterhaching
On 7 July 2016, Stahl signed a three-year contract with an option for an additional year with Regionalliga Bayern club SpVgg Unterhaching.[17] He made his competitive debut for the club on 23 July, scoring the opening goal in a 5–1 home win against VfR Garching.[18]
He signed a contract extension on 13 April 2020, keeping him at the club until 2022.[19] In June 2020, he tore his anterior cruciate ligament, sidelining him for an extended period.[20]
In April 2023, Stahl announced his retirement from playing following persistent knee problems.[21]
Career statistics
Appearances and goals by club, season and competition