Early career Poulsen began playing football at
BK Skjold. At first he was a defensive player and in
Kenneth Zohore he had a teammate, with whom he was to play later in the Danish youth national teams. After Zohoré joined
FC Copenhagen, Poulsen was moved to a position as a striker.
Lyngby BK At the age of 14 he joined the youth ranks of
Lyngby BK. He played his first match as a senior on 4 December 2011, when he came on the pitch against AC Horsens after 84 minutes, as a substitute for Mathias Tauber. Poulsen did not immediately establish himself in the starting eleven, and he was at the end of the season only on five appearances. His club, Lyngby were also relegated from Superligaen. 5 August 2012 he scored his first goal at senior level, as well as for his club, when he in the second match in the 1. Division (second Danish league) scored the 1-0 winning goal against
AB Gladsaxe. He was a regular player in the starting 11, and played 32 matches, scoring eleven goals.
RB Leipzig His achievements attracted the interest of foreign and domestic clubs, and on 3 July 2013, he signed a contract with the newly promoted
3. Liga German side
RB Leipzig. He made his club debut on 19 July 2013 in a 1–0 win at
Hallescher FC, and scored his first goals in a 2–0 home win over
Rot-Weiss Essen on 24 August, and netted two more in the final game on 10 May 2014 to win 3–1 at
Stuttgarter Kickers. He finished the
2013–14 season with 10 goals in 36 appearances as his team were promoted as runners-up. In his first season in the
2. Bundesliga, Poulsen scored 12 goals in 32 appearances during the
2014–15 season as his team came fifth. in October 2019 Poulsen scored seven goals in 32 appearances during the
2015–16 season as RB Leipzig won promotion as runners-up to
SC Freiburg. and in the sixth match of the
2016–17 season, he scored his first Bundesliga goal in a 2–1 victory at home against
FC Augsburg on 30 September. On 30 March 2019, during a 5–0 win over
Hertha BSC, he became the first-ever Leipzig player to score a hat-trick in the Bundesliga and in the process helped the club record its 50th ever win in the competition. His treble also took him to 15 league goals for the campaign which meant he became only the third Danish player, after
Ebbe Sand and
Allan Simonsen to score more than 14 Bundesliga goals in a single season. In the same month, he extended his contract by a year to 2022. His team were runners-up in the
2019 DFB-Pokal Final; he scored in 3–1 wins in the first round at
FC Viktoria Köln and the semi-final at
Hamburger SV. Poulsen became the first Leipzig player to 250 appearances on 24 May 2020, when he scored in a 5–0 win at
1. FSV Mainz 05. He was then ruled out for the rest of the season with ankle ligament damage. He scored five times on the way to the
2021 DFB-Pokal final, including two in a 4–0 home win over
VfL Bochum in the last 16. On 28 October 2021, he reached 300 matches in a 2–1 home loss to
Club Brugge KV in the Champions League group stage.
Hamburger SV On 13 July 2025, after 12 years in Leipzig, Poulsen signed with fellow Bundesliga club
Hamburger SV. A month later, he was named as club's captain ahead of the
2025–26 season. His debut for the club was delayed while recovering from injury before he made his first appearance for the club in a scoreless draw against
Borussia Mönchengladbach on 24 August, coming into the match as a substitute. On 7 December, he scored his first goal for the club in the
Nordderby. Coming on as a substitute in the 83rd minute, Poulsen scored with his first touch of the ball in the 84th minute, giving Hamburger a 3–2 win over rival
Werder Bremen. The first half of the
2025–26 season for Poulsen saw him miss regular playing time due to a series of injuries. After missing games early in the season with an undisclosed injury, he was sidelined again from December to February 2026 with an ankle injury. In March, after injuring his thigh during training, it was confirmed he would miss additional time. ==International career==