Müller began his career with TSV Wernfeld aged 11. In 1998, he joined Eintracht Frankfurt who had just won the 2. Bundesliga. He played for Die Adler until 2003, when he joined SpVgg Greuther Fürth.
In 2006, Müller moved up to Greuther Fürth II in the Bayernliga. He would play for Fürth's reserves for the next three years until midway through the 2008–09 season, when he was loaned out to 3. Liga side SV Sandhausen, who he helped to an eighth-place finish in the first ever 3. Liga campaign. For the next season, Müller returned to Greuther Fürth. He finally broke into the first team with the Cloverleaves in the 2009–10 season and continued to play for the first team in 2010–11. This would be his last year with Fürth, though they finished fourth, as at the end of the season Müller joined Mainz 05.
On 6 August 2014, Müller joined Hamburger SV signing a four-year contract. His debut for HSV came on the third matchday against Hannover 96 in the 2–0 loss at the HDI-Arena. After the game, Hamburg coach Mirko Slomka left the club and Josef Zinnbauer took charge for the next match against Bayern Munich, in which Müller started and received his first booking for a 59th-minute foul on Dante. Müller scored Hamburg's first goal of the 2014–15 season when he equalised against Eintracht Frankfurt on 28 September 2014. HSV eventually lost the game to a Lucas Piazon free-kick in the last minute. HSV avoided relegation through the relegation play off for the second successive season in Müller's debut year, as he came on as a substitute and scored a 115th-minute winner during the relegation play-off game that took place at the end of the Bundesliga season, against Karlsruher SC. Müller's goal ensured that HSV would stay in the Bundesliga for the next year, keeping their unique status as the only team to have played in the Bundesliga for every year since its formation, as they won 3–2 on aggregate. On 20 August 2017, the first matchday of the 2017–18 Bundesliga season, Müller got injured while celebrating scoring a goal against FC Augsburg. Medical examination confirmed that the striker had ruptured the ACL in his right knee and would be out for approximately seven months. He returned to the pitch on matchday 33, in a 3–0 defeat away to Eintracht Frankfurt.
Eintracht Frankfurt
After the 2017–18 season Hamburger SV got relegated from the Bundesliga and Müller joined Eintracht Frankfurt on a free transfer signing a two-year contract until summer 2020. On 30 December 2018, it was announced that Müller would be loaned out to Hannover 96 for the remainder of the 2018–19 season.