Förster was born in Bretten,[1] and grew up there, where his parents ran a gardening business.[2] He played youth football for Karlsruher SC until 2010,[3] and later for VfB Stuttgart between 2010 and 2014.[2]
Waldhof Mannheim
In summer 2014, Förster joined Regionalliga Südwest side Waldhof Mannheim on a one-year contract.[4][5] Shortly before the start of the season, he suffered two muscle tears.[6] He made his debut for Waldhof Mannheim on 24 September 2014 in a 1–1 draw at home to 1899 Hoffenheim II,[7] He scored his first goals for the club on 11 October 2014 with their second and third goals of a 3–1 victory over KSV Hessen Kassel.[6] He appeared in 22 Regionalliga Südwest matches over the course of the 2014–15 season, and scored 4 goals.[1]
In his second season at Waldhof Mannheim, Förster played more regularly, starting 32 of their 34 Regionalliga Südwest matches, in which he scored 6 goals.[1] They finished top of the Regionalliga Südwest after amassing 73 points and qualified for the promotion play-offs.[8] He played in both legs of the promotion play-off against Sportfreunde Lotte as Waldhof Mannheim lost 2–0 on aggregate and failed to achieve promotion to the 3. Liga.[9][10]
The 2016–17 season saw Förster score twice in 20 appearances for Waldhof.[1] His last appearance for the club came on 13 December 2016 in which he scored as the club defeated FC Homburg 3–2 away from home.[11][12]
1. FC Nürnberg
On 31 January 2017, Förster joined 2. Bundesliga side 1. FC Nürnberg for an undisclosed fee.[13] After suffering multiple injuries during his spell at the club, he amassed no first team appearances and just four reserve team appearances.[14] He was released by 1. FC Nürnberg on 17 August 2017 to allow him to join SV Sandhausen in his native Baden-Württemberg.[14]
SV Sandhausen
On 17 August 2017, Förster joined fellow 2. Bundesliga side SV Sandhausen on a three-year contract with the option for a further year.[15] He made his debut for the club as a second-half substitute in a 2–1 defeat at home to Fortuna Düsseldorf on 27 August 2017.[16] He scored his first goal for the club on 16 February 2018 in 1–0 away victory over 1. FC Kaiserslautern; he scored from 16 metres in the 79th minute despite slipping as he took the shot.[17] He made 28 appearances and scored three goals for Sandhausen in the 2017–18 season.[1]
The 2018–19 season saw Förster start 29 of Sandhausen 34 2. Bundesliga matches, in which he scored five goals.[1] The first of his five goals came in a 2–1 defeat at home to 1. FC Heidenheim on 2 December 2018[18] and he scored a brace for the club on 16 March 2019 in a 4–0 victory over FC St. Pauli.[19] On 24 July 2019, he signed a two-year contract extension with Sandhausen, keeping him at the club until summer 2022.[20] He appeared five times and scored once with Sandhausen in the 2019–20 season before joining VfB Stuttgart.[1]
VfB Stuttgart
On 2 September 2019, Förster signed a four-year deal with VfB Stuttgart for a fee estimated to be around €3,000,000.[21][22] After making his debut for the club on 14 September 2019 in a 3–2 victory over Jahn Regensburg,[23] he scored his first goal for the club on 21 September 2019 in a 2–0 victory at home to Greuther Fürth.[24] He appeared in 26 league matches and scored 3 goals for Stuttgart across the 2019–20 season,[1] as they finished second and were promoted to the Bundesliga.[25]
After suffering an ankle injury during the build-up to the 2020–21 season, Förster made his Bundesliga debut as a substitute in second-half stoppage time of a 1–1 draw with Schalke 04 on 30 October 2020.[26][27] He made his first Bundesliga start on 28 November 2019 as a replacement for the injured Daniel Didavi in a 3–1 defeat to Bayern Munich.[28]
Bochum
On 1 July 2022, Förster joined VfL Bochum on a two-year contract.[29] Förster left Bochum at the end of the 2023–24 season.[30]
Darmstadt 98
On 23 September 2024, Förster joined 2. Bundesliga club Darmstadt 98.[31]