Early career Hofmann began his club career in 1998 playing at FC Rot in the municipality of
St. Leon-Rot and remained there until the end of the 2003–04 season, before he moved to
1899 Hoffenheim in the 2004–2005 season. Hofmann debuted for TSG 1899 Hoffenheim second team in a 1–0 victory in April 2011 during the 2010–11 season. At the end of the
2010–2011 season playing for TSG 1899 Hoffenheim II, Hofmann made five league appearances, in which he scored two goals.
Borussia Dortmund In the 2011–2012 season, Hofmann signed a contract for
Borussia Dortmund until 30 June 2015; and inducted into
Borussia Dortmund II for 2011–2012 season. Hofmann debuted for Dortmund II on 6 August in a 2–0 away victory over
1. FC Kaiserslautern II, scoring his first goal of the 2011–2012 season. On 10 September, Hofmann succeeded in scoring two goals in a 4–0 away victory over the second team of
Schalke 04. In the 2012–2013 Bundesliga season, Hofmann was inducted into the Borussia Dortmund first team. Hofmann debuted for Borussia Dortmund first team in the 2012–2013 Bundesliga season on 16 December 2012, in BVB's 3–1 away victory over TSG 1899 Hoffenheim, where he came on as a substitute in the 89th minute. On 6 April 2013, he started his first match in the Bundesliga, and he was credited with an
assist to
Julian Schieber to score an equalizing goal tap-in finish for a 2–2 scoreline in Dortmund's 4–2 home victory over
FC Augsburg. On 27 July 2013, Hofmann won the
2013 DFL-Supercup with Dortmund 4–2 against rivals
Bayern Munich. Hofmann's first goal for Borussia Dortmund came on 18 August in a win against
Eintracht Braunschweig, after coming on as a substitute in the second half. On 12 April 2014, Hofmann scored the third goal as Dortmund defeated Bayern Munich 3–0 at the Allianz Arena. On 13 August 2014, he played in the 2014 Super Cup. During the summer transfer window of 2014, Borussia Dortmund agreed to a year-long loan deal for Hofmann that would send him to
1. FSV Mainz 05 until 30 June 2015. He was injured for most of the 2014–15 season and scored 3 goals in 12 games for Mainz, before returning to Dortmund. On 30 July 2015, Hofmann scored his first European goal in a 1–0 win over Austrian side
Wolfsberger AC in the first leg of the Europa League
third qualifying round.
Borussia Mönchengladbach It was announced on 29 December 2015 that Hofmann would join
Borussia Mönchengladbach on 1 January 2016, signing a four-year deal until 2020. After only joining Gladbach during the winter break, he made his debut for the club on 23 January 2016 in a 1–3 loss to former club Dortmund. Hofmann scored his first goal for the club in a Round of 16 match in the
UEFA Europa League against fellow German side
Schalke on 9 March 2017. The game ended in a 1–1 draw with Gladbach eventually going out on away goals after the two-legged tie finished 3–3. On 18 October 2018, Hofmann scored his first ever professional hat-trick in a 4–0
league win over former club Mainz. Hofmann signed a new deal with Gladbach on 16 April 2019, extending his stay at the club until 2023. On 21 October 2020, he scored his inaugural
Champions League goal in a 2–2 away draw against
Inter Milan in the first match of the
2020–21 season. On 8 January 2021, he scored a brace and recorded an assist in an historic 3–2 win against Bayern Munich.
Bayer Leverkusen On 5 July 2023, Hofmann signed for
Bayer Leverkusen until 2027, after activating his release clause of €10m. On 12 August 2023, he made his debut and scored a goal in an 8–0
DFB-Pokal away victory against
Teutonia Ottensen. ==International career==