Born in Weilheim, Müller played as a youth for TSV Pähl, and at the age of 10 he made the 50-kilometre (31 mi) journey to join local Bundesliga side Bayern Munich in 2000. He progressed through the youth system and was part of the team that finished runner-up in the Under 19 Bundesliga in 2007. He made his debut for the reserve team in March 2008 when he replaced Stephan Fürstner in a Regionalliga match against SpVgg Unterhaching, in which he scored. He made two more Regionalliga appearances in the 2007–08 season, while continuing to play for the under-19 team. The following season, Bayern's second string qualified for the newly formed 3. Liga, and Müller established himself as a key player – he played in 32 out of 38 matches and scored 15 times to make him the league's fifth top scorer. He also became involved in the first-team under then manager Jürgen Klinsmann; he appeared in pre-season friendlies, and made his full debut on 15 August 2008, when he came on as a substitute for Miroslav Klose for the last ten minutes of a Bundesliga match against Hamburger SV. Despite Müller feeling that his performance did not go well, he made three more Bundesliga appearances that season and made his Champions League debut on 10 March 2009 when he was substituted on in the 72nd minute for Bastian Schweinsteiger in a 7–1 win over Sporting CP. He scored Bayern's last goal as they won the tie 12–1 on aggregate.