Malmö FF Rosenberg began his playing career at
Malmö FF at age five, having started to play football at a young age. He was successful in the youth team, where he started playing as a right-back before becoming a striker at age 16. Rosenberg made an impact playing for the club's reserves in the 2000 season, scoring 26 times and earning him promotion to the first team. While progressing through the Malmö FF youth system, he earned a nickname "Sillen", due to "being so small and witty".
2001–2003 seasons Rosenberg made his league debut on 10 May 2001 against
AIK, coming on as a 78th-minute substitute in a 2–0 win. He then made his first start for the side, as they won 1–0 against
Hammarby on 26 May 2001. On 2 July 2001, Rosenberg scored his first Malmö FF goal, in a 2–0 win against
GIF Sundsvall, However, he struggled to become a first-team regular with strong competition from
Niklas Skoog and
Peter Ijeh, resulting in him being placed on the substitute bench, as well as, his own injury concern. Despite this, Rosenberg signed a three–year contract with the club. Until the end of the 2001 season, he made 15 appearances scoring once in all competitions. In the 2002 season Rosenberg found his first-team opportunities limited by strong competition and injury problems. As a result, he found himself playing for the reserve side. But towards the end of the season, Rosenberg made a number of starts for the side. He finished the 2002 season with 13 appearances in all competitions. Rosenberg started the 2003 season well scoring in the opening match of the season, a 2–0 win against
Örebro. On 5 May 2003, he scored his second goal of the season, in a 2–1 loss against Hammarby. On 29 May 2003, in the third round of the
Svenska Cupen against
IFK Luleå, Rosenberg scored a brace for the side, as they won 4–0. Three months later, on 17 August 2003, Rosenberg scored his third goal of the season, in a 6–0 win against Hammarby. Despite being involved in the first team, Rosenberg mostly featured from the substitute bench and continued to be overshadowed by the likes of Skoog, Ijeh and
Andreas Yngvesson. But he often received playing time in absence of Skoog. Rosenberg made his European debut in a 1–0 loss against
Sporting CP in the second leg of the UEFA Cup first round, coming on as a substitute in the 62nd minute. Until the end of the 2003 season, Rosenberg went on to make 21 appearances scoring five times in all competitions. Following this, he signed a three–year contract with the club, keeping him until 2006.
Loan to Halmstads BK When the club purchased strikers
Afonso Alves and
Igor Sypniewski ahead of the
season, Rosenberg opted to go to
Halmstads BK on loan in 2004. Rosenberg quickly made an impact on his Halmstads debut, scoring the club's third goal in a 5–2 win against Örebro in the opening game of the season. After making his debut for the club, he quickly established himself in the starting line–up as a striker. On 25 April 2004, Rosenberg scored his second goal for the club, in a 3–2 win against
Helsingborg. After adding three more goals for the next five months, he scored twice for the side, in a 2–2 draw against his parent club, Malmö FF on 14 September 2004. By the end of September, Rosenberg scored five more goals, scoring a brace against
Trelleborg and then a
hat-trick against Örebro. A month later, on 25 October 2004, he scored twice for the side, winning 2–1 against Helsingborgs. Playing at Halmstad, he became the
top goalscorer of the 2004 season and just missed out on becoming the league champion after Halmstad finished two points behind Malmö. He finished the 2004 season with 29 appearances and 17 goals in all competitions.
2005 season and departure After his loan spell at Halmstads BK ended, Rosenberg returned to his parent club, Malmö FF, at the start of the 2005 season. He made his return to the starting line–up against
IFK Göteborg in the opening game of the season and played the whole game, as they lost 2–1. In the following match against
Landskrona BoIS, Rosenberg scored his first goal of the season, in a 1–0 win. On 19 May 2005, he scored his second goal of the season, in a 3–1 win against Landskrona BoIS in the Svenska Cupen. Rosenberg then scored three goals in three consecutive matches between 16 June 2005 and 27 June 2005. After the start of the 2005 season, he retained his first team place and formed a partnership with Afonso Alves. In his last match back in Malmö, he also topped the
Royal League 2004–05 scoring list as well as leading
Allsvenskan in assists before joining Dutch club
Ajax. By the time Rosenberg departed from the club, he had made 13 appearances and scored 5 goals in all competitions.
Ajax . Rosenberg joined
Eredivisie side
Ajax at the start of the
2005–06 season for a €5.3 million transfer fee. He previously rejected a multi-million contract from Russian side
Lokomotiv Moscow, saying: "With such a salary, I could provide for my entire family for several decades. At the same time, money isn't everything. I also want to feel that I come to the right country and the right league."
2005–06 season Manager
Danny Blind showed his faith in Rosenberg by immediately inserting him into the starting 11. He quickly made an impact for Ajax, scoring on his debut, in a 2–2 draw against
Brøndby in the first leg of the
UEFA Champions League qualifying round. In the return leg, Rosenberg helped the side go through to the group stage with a 3–2 win. He then scored on his
Eredivisie debut as well as setting up the club's first goal of the game, in a 2–0 win against
RBC Roosendaal in the opening game of the season. A month later, on 27 September 2005 (his 23rd birthday), Rosenberg scored against
Arsenal in a 2–1 loss in the
UEFA Champions League. As the 2005–06 season progressed, his performances dropped until Blind decided to play in a 4–4–2 system, with Rosenberg and
Angelos Charisteas as strikers instead of the 4–3–3 system, with Rosenberg as the only central striker, as was played before. Rosenberg scored four more goals until the end of 2005. With the new system, Ajax were still underachieving in that period, and during the winter break,
Klaas-Jan Huntelaar joined them for a €9 million transfer fee. Consequently, Rosenberg was moved from central forward to the left wing in a 4–3–3 the club reverted to. Despite this, he went on to score five consecutive goals between 15 January 2006 and 8 February 2006. A week later, on 19 February 2006 against RBC Roosendaal, he scored twice for the side, in a 6–0 win. Playing in this line-up for the second half of the season, Ajax performed better and were able to reach the newly born Eredivisie play-offs after finishing in the fifth position in the regular competition. In the play-offs, they defeated
Feyenoord and
Groningen to claim a spot in the Champions League preliminaries for the following season. Ajax also won the
KNVB Cup that season. Until the end of the 2005–06 season, Rosenberg went on to make 48 appearances scoring 15 times in all competitions.
2006–07 season and departure . When the
2006–07 season began, Rosenberg played the whole game, as they beat
PSV Eindhoven 3–1 to win the
Johan Cruyff Shield. However, he was no longer a regular first team player, mostly backing-up Klaas-Jan Huntelaar. He scored three goals in two
UEFA Cup appearances against
Start. Despite being involved in the first team, Roseneberg still could not take Huntelaar's place as the main striker under new coach
Henk ten Cate. By the time Rosenberg departed from Ajax, he had made 14 appearances and scored three goals in all competitions.
Werder Bremen against
FC Bayern Munich in 2007. Having been linked a move away from Ajax, it was announced on 26 January 2007 that Rosenberg moved to
Bundesliga club
Werder Bremen on a four–year contract, keeping him until 2011 for an undisclosed fee. Upon joining the club, he was given a number nine shirt for the side.
2006–07 spring season Two days after signing for Werder Bremen, Rosenberg made his debut for the club, coming on as an 83rd-minute substitute, in a 2–0 win against
Hannover 96. On 11 March 2007, he scored his first goal for the club, with the back of the head, as they drew 1–1 against
Bayern Munich. After adding only two goals in April in Bremen's fight for the Bundesliga title, Rosenberg scored his first
hat-trick for the club in a 4–1 win over
Hertha BSC on 6 May 2007. Despite setting up the club's only goal of the game against
Eintracht Frankfurt on 12 May 2007, the club, however, lost 2–1, thereby putting Werder Bremen out of the title race. In the last game of the season, scored twice in a 2–0 win over
VfL Wolfsburg on 19 May 2007. By the end of the
2006–07 season, Rosenberg had scored eight goals in 14 starts in his first Bundesliga season, five of them as a substitute, making him the most effective substitute in the league.
2007–08 season At the start of the
2007–08 season, Rosenberg's goal scoring form began to dip, leading to criticism from manager
Thomas Schaaf, who was not satisfied with his performance in the club's pre–season tour. Despite this, he continued to regain his first team place for the Werder Bremen, appearing in and out of the starting line–up. On 29 September 2007, he scored his first goal of the season as well as setting up the club's eighth goal of the game in an 8–1 win against
Arminia Bielefeld. After adding only two goals throughout October, Rosenberg then scored the club's first goal of the game and set up a goal for
Boubacar Sanogo, in a 3–2 win over
Real Madrid in a
UEFA Champions League group stage match on 28 November 2007. He then scored three goals in two matches between 8 December 2007 and 15 December 2007, including a brace against Hannover 96. Rosenberg, once again, scored four goals in three matches between 16 February 2008 and 8 March 2008, including a brace against
Borussia Dortmund. Later in the 2007–08 season, he added five more goals, as his further goal scoring form contributed in helping Werder Bremen qualify for the UEFA Champions League next season. At the end of the 2007–08 season, Rosenberg made 42 appearances and scoring 16 times in all competitions, making him Bremen's top goal scorer in the league with 14, ahead of
Diego with 13 goals, though he scored 18 in all competitions, himself. .
2008–09 season Rosenberg started the
2008–09 season well when he scored four goals and set up
Hugo Almeida twice in a 9–3 win over
Eintracht Nordhorn in the first round of the
DFB-Pokal on 9 August 2008. Seven days later, on 16 August 2008, Rosenberg scored a brace on his debut of the season in a 2–2 against Arminia Bielefeld. A month later, on 20 September 2008, he scored twice in a 5–2 win over Bayern Munich, marking the first time Bremen defeated Bayern at the
Allianz Arena. This was followed up by scoring his ninth goal of the season, in a 2–1 win against
Erzgebirge Aue in the second round of the DFB-Pokal. After the start of the 2008–09 season, Rosenberg continued to remain involved in the first team despite the new arrival of
Claudio Pizarro. Despite a muscular injury sustained while on international duty, Rosenberg later added two more goals by end of 2008, scoring against
Hertha BSC and
Inter Milan (despite a 2–1 victory, Werder Bremen were eliminated from the group stage and demoted to the
UEFA Cup). On 15 March 2009, Rosenberg scored twice in a 4–0 win over
VfB Stuttgart, ending his ten matches without scoring a goal. Despite being sidelined later in the 2008–09 season, he started in the
2009 UEFA Cup Final against
Shakhtar Donetsk and played 78 minutes before being substituted, as Werder Bremen went on to lose 2–1 at extra time. While not winning the UEFA Cup, the club, nevertheless, won the
DFB-Pokal after beating
Bayer Leverkusen 1–0. By the end of the 2008–09 season, he had made 47 appearances scoring 13 times in all competitions, making him the club's third highest goal scorer, behind
Claudio Pizarro and Diego. However, his goal scoring form came under criticism, due to performance expectations in the first two seasons at Werder Bremen. .
2009–10 season Ahead of the
2009–10 season, Rosenberg suffered an injury that kept him out of action with knee problems for three months. On 20 September 2009, he made his first appearance of the season, coming on as a 68th-minute substitute, in a 0–0 draw against
Bayer Leverkusen. Due to strong competition in the striker position, Rosenberg was placed on the substitutes' bench for large parts of the season. Despite this, he managed to score first and only league goal of the season in a 6–0 win over
SC Freiburg on 21 November 2009. Unable to produce goal scoring form, Rosenberg only managed to score three goals in the
UEFA Europa League, scoring a brace in a 4–1 win over
Nacional and then in a 3–1 win over
Athletic Bilbao. Following a poor performance in the Bundesliga against
VfL Bochum, Rosenberg was not included in the squad for the subsequent semi-final match of the
DFB-Pokal, against
FC Augsburg. He subsequently said to German tabloid
Bild, "I wasn't the only one to play badly against Bochum. It is not good that I was immediately removed from the squad. I'm frustrated. Obviously, I'm thinking about what happens in the summer. I'm not here to sit in the stands. I want to play football." By the end of the 2009–10 season, Rosenberg had made 24 appearances scoring four times in all competitions. .
2010–11 season Just prior to the
2010–11 season, Rosenberg stated that he wanted to stay with Bremen after being reportedly unhappy over the contract stall. In the second leg of their play-off round of the
UEFA Champions League against
Sampdoria on 24 August 2010, with Bremen trailing 0–3, Rosenberg scored in injury time helping Bremen to make it into extra time before Claudio Pizarro scored the decisive goal to reach the group stage of the Champions League. This turned out to be his only appearance of the 2010–11 season. It was announced on 31 August 2010 that he signed a one–year contract extension.
Loan to Racing Santander On the day Rosenberg signed a contract extension with Werder Bremen, he was loaned out to Spanish
La Liga club
Racing Santander for the rest of the 2010–11 season. Upon joining the club, Rosenberg said it was a dream to play in Spain. Rosenberg made his debut for Santander in a 1–0 defeat against
Valencia on 11 September 2010. Despite suffering from a knee injury, he quickly recovered and came on as a 64th-minute substitute, in a 2–0 win against
Real Zaragoza on 19 September 2010. However, in a follow–up match against
Getafe, Rosenberg was sent–off after picking up two yellow cards and served a one-match ban. He returned to the starting line–up on 17 October 2010, helping the side win 1–0 against
UD Almería. Rosenberg then followed up by scoring his first goal for Santander in a 6–1 defeat to
Real Madrid. He scored a brace in another follow–up match, in a 4–1 win against
CA Osasuna. After making his debut for the club, Rosenberg quickly became a first team regular for the side, playing in the striker position. He then scored two goals in two matches between 28 November 2010 and 5 December 2010 against
Deportivo de La Coruña and
Málaga. After serving a two match suspension, Rosenberg returned to the side, coming on as a 60th-minute substitute, in a 1–0 win against Getafe on 20 February 2011. He then scored his fifth goal for the club, in a 3–1 loss against CA Osasuna on 13 March 2011. However, Rosenberg suffered a knee injury while training and was sidelined for two weeks. On 17 April 2011, he returned from injury, coming on as a 56th-minute substitute, in a 2–0 loss against Deportivo de La Coruña. Rosenberg then followed up by scoring two goals in the next two matches, coming against Málaga and
RCD Mallorca. He then scored his ninth goal for the club, scoring in a 2–1 win against
Atlético Madrid on 10 May 2011. At the end of season, Rosenberg lead the club's scoring chart at nine goals in 35 appearances in all competitions, making him the top scorer. On 23 June 2011, he expressed his wish to continue playing in Europe for a couple of years before finishing his career at his hometown club, Malmö FF.
2011–12 season Ahead of the 2011–12 season, it was announced that Rosenberg would be returning to Werder Bremen following his loan spell at
Racing de Santander. Rosenberg started the season well he scored the club's first goal of the season, losing 2–1 against
1. FC Heidenheim in the first round of the DFB–Pokal. This was followed by scoring a brace in a 2–0 win over
1. FC Kaiserslautern on the opening day of the
2011–12 Bundesliga season. Three weeks later on 27 August 2011, Rosenberg scored his second goal of the season, in a 2–1 win against
1899 Hoffenheim. After the start of the 2011–12 season, Rosenberg regained his first team place, playing in the striker position. He then scored two goals in two matches between 3 December 2011 and 10 December 2011 against Bayern Munich and VfL Wolfsburg. Following this, Rosenberg went three months without scoring a goal and this ended on 11 March 2012 when he scored his sixth goal of the season, in a 3–0 win against Hannover 96. The following month, Rosenberg scored four more goals for the side. By the end of the
2011–12 season, he had made 34 appearances scoring 11 times in all competitions. It was announced on 3 May 2012 that Werder Bremen opted not to extend Rosenberg's contract. Because of his aerial ability and his strength, Rosenberg was considered a dangerous header of the ball, but he was also dangerous when having the ball at his feet. Rosenberg soon became fan favourite and earned the nickname "Rosi". Rosenberg struggled to perform in the league, but proved to be a very efficient goal scorer in both the European and domestic cups. He established himself in the starting eleven and formed a partnership with strikers such as Hugo Almeida and Boubacar Sanogo.
West Bromwich Albion On 7 August 2012,
Premier League club
West Bromwich Albion announced they had secured Rosenberg on a three-year contract. He wore the number 8 for the
2012–13 season.
2012–13 season Rosenberg made his West Bromwich Albion debut coming on as a 78th-minute substitute in a 1–1 draw against
Tottenham Hotspur on 25 August 2012. Four days later, on 29 August 2012, he made his first start for the side, in a 4–2 win against
Yeovil Town. However, Rosenberg found his first team opportunities limited, due to strong competition in the striker position and mostly came on as a substitute. Despite this, he played a role of assisting two goals, once coming against
Wigan Athletic on 4 May 2013 and another came against
Manchester United on 19 May 2013. At the end of the 2012–13 season, Rosenberg played 24 Premier League matches for the club during his first season at the club, but failed to score any goals.
2013–14 season and departure Ahead of the
2013–14 season, Rosenberg stayed at West Bromwich Albion despite being told that he could leave the club. Amid the transfer speculation, Rosenberg made his first appearance of the season, coming on as an 83rd-minute substitute, in a 1–0 loss against
Southampton in the opening game of the season. However, he found his first team opportunities limited once again. As a result, Rosenberg said in October 2013 that he wanted to leave West Bromwich Albion. Having only appeared in four league matches, Rosenberg and the club reached a mutual agreement to terminate his contract on 1 February 2014. When he left West Brom, Rosenberg donated all contents in his house to charity.
Return to Malmö FF in 2014. On 1 February 2014, Malmö FF confirmed they had agreed on a three-year contract with Rosenberg, who returned for the first time in nine years. On 3 February 2014, the transfer was confirmed after the medical examination had been performed, and Rosenberg subsequently travelled to
Bradenton, Florida, where the club was engaged in a pre-season training camp. match against
Shakhtar Donetsk in 2015.
2014 season Rosenberg made his first appearance after returning to the club and set up the club's goal of the game before suffering an injury in the 13th minute, in a 7–1 win against
Degerfors in the Svenska Cupen. After missing one match, he returned in a match against Hammarby in the Svenska Cupen, scoring and setting up the club's third goal in a 3–2 win. Rosenberg scored his first league goal after returning to the club on 7 April 2014 in a 3–0 away win against rivals
IFK Göteborg. This was followed up by scoring in a 1–0 win against
Gefle. Following the absence of captain
Guillermo Molins, he then captained the side for the first time, helping Malmö FF win 1–0 against
Mjällby on 22 May 2014. After Molins suffered an injury, it was announced on 1 July 2014 that Rosenberg would be taking over as captain for the rest of the 2014 season. Shortly after, on 6 July 2014, he scored the club's only goal in a 1–1 draw against
Brommapojkarna. Rosenberg went on a scoring spree scoring against
Kalmar,
Falkenberg,
Sparta Prague (twice), IFK Göteborg and Örebro (twice) from 26 July 2014 to 13 August 2014. Around the same month, Rosenberg announced his retirement from the Sweden national team in order to fully concentrate on Malmö FF, having become a first team regular back at the club. The following day, he scored a brace as Malmö FF defeated
Red Bull Salzburg in a 3–0 win to qualify for the
2014–15 UEFA Champions League. Rosenberg, once again, went on a scoring spree when he scored against Mjällby,
Olympiacos (thereby securing Malmö's first win in the
2014–15 UEFA Champions League), AIK,
Elfsborg and Brommapojkarna. He then scored his UEFA Champions League goal of the season, on matchday 6, losing 4–2 against Olympiacos. Overall, Rosenberg scored 15 goals and made 14 assists in the
league, proving to be a vital part of the team as they defended their league title. This was also the first time in Rosenberg's career he won a league title. With 15 league goals and 24 goals in all competitions, 2014 became Rosenberg's most successful season to date in terms of goals. After the successful season, Rosenberg was named Allsvenskan Forward of the Year and Allsvenskan Most Valuable Player of the Year. He was also nominated for Swedish Forward of the Year at
Fotbollsgalan. qualifier against
Red Bull Salzburg in 2015.
2015 season Ahead of the 2015 season, it was announced that Rosenberg was the new captain for Malmö FF, succeeding Molins. Rosenberg started the season well scoring two goals in the four Svenska Cupen matches. In a 4–1 win against GIF Sundsvall in the opening game of the season, he scored and set up the club's second goal of the game. Having been linked a move away from Malmö FF earlier in the season, Rosenberg put the transfer rumours aside when he signed a contract extension with the side, keeping him until 2017. From the start of the 2015 season, Rosenberg retained his first team place as well as his captaincy of the side. He only scored two goals in the next three months, which came against Hammarby on 20 April 2015 and another came against
Åtvidaberg on 31 May 2015. Between mid–July and August, Rosenberg began a goal scoring spree, adding eight goals to his tally. One of the goals came in Malmö's
3–0 return leg win over Red Bull Salzburg in the third qualifying round for the
2015–16 UEFA Champions League on 5 August 2015. Thanks to an aggregate score of 3–2, Malmö eliminated Salzburg for the second successive season, contributing to Salzburg's run of eight unsuccessful attempts to qualify for the Champions League since being purchased by the
Red Bull company in 2005. In their home match on 25 August 2015, Rosenberg scored the first goal as Malmö defeated
Celtic 2–0, winning 4–3 on aggregate and thereby qualifying for the Champions League group stage for the second consecutive year. He later scored four more goals later in the 2015 season, including a brace against Kalmar on 17 October 2015. After serving a one-match suspension, Rosenberg returned to the starting line-up in the last game of the season against
IFK Norrköping, only to be sent off in the 5th minute of the match, as Malmö lost 2–0. Malmö FF were unable to follow up their success in European qualifying with a league title in
2015, disappointingly finishing in fifth place. Having been out of the first team on three occasions during the 2015 season, Rosenberg finished the season with 42 appearances and 16 goals in all competitions.
2016 season during a
Champions League qualifier against
Red Bull Salzburg in 2015. At the start of the
2016 season, Rosenberg kept his first team place as well as his captaincy of the side. He scored his first goals of the season in a 3–2 win against Kalmar in the semi–finals of the Svenska Cupen to send Malmö FF through to the final. Rosenberg then scored the club's only goal in a 1–0 win against Elfsborg on 18 April 2016. After missing one match due to a thigh injury, he returned to the first team in a match against
BK Häcken on 1 May 2016, coming on as a 70th-minute substitute, but was sent off in the last minutes for an unprofessional foul. While serving a two-match suspension in the league, Rosenberg started in the
Svenska Cupen Final against BK Häcken and scored the opening goal of the game before being substituted in the 64th minute, as Malmö FF lost 6–5 in a penalty shoot–out following a 2–2 draw. After the suspension, he returned to the first team, coming on as a second-half substitute in a 3–2 win against Hammarby on 18 May 2016. Rosenberg followed up by scoring in the next two matches, against Falkenbergs and
Östersund. On 1 August 2016, he scored his seventh goal of the season, in a 3–0 win against Örebro. A month later, on 12 September 2016, Rosenberg scored twice for the side, as Malmö FF won 3–1 against IFK Göteborg. However, during a 2–0 win against Helsingborgs on 25 September 2016, he suffered a groin injury and was substituted in the 39th minute, leading him to be out for a month. With Rosenberg sidelined, the club was able to bounce back and Rosenberg won his second league title with Malmö FF after beating Falkenbergs 3–0 on 26 October 2016. In the last game of the season against Hammarby, he returned from injury, coming on as a 71st-minute substitute in a 3–0 win. By the end of the 2016 season, Rosenberg had made 28 appearances scoring 11 times in all competitions. qualifier against
Red Bull Salzburg in 2015.
2017 season At the start of the
2017 season, Rosenberg retained his first team place as well as his captaincy of the side. He scored his first goal of the season, scoring the club's second goal of a 2–0 win against GIF Sundsvall on 11 April 2017. Rosenberg then scored three more goals throughout May. However, during a 3–2 win against
AFC Eskilstuna on 1 July 2017, he suffered an injury and was substituted in the 10th minute. As a result, Rosenberg was sidelined for three weeks. On 17 July 2017, he returned to the starting line-up in the return leg of the UEFA Champions League second round against
FK Vardar, scoring the club's only goal of the game, as they lost 3–1, thereby being eliminated from the tournament. During a 1–0 win against
Djurgården on 7 August 2017, Rosenberg received a straight red card in the 86th minute for an unprofessional foul. After serving a two-match suspension, he scored his sixth goal of the season, in a 2–2 draw against IFK Göteborg on 27 August 2017. Following this, it was announced that Rosenberg had signed a one–year contract extension with the club. After serving another suspension, Rosenberg returned to the starting line-up and scored in the next two matches against Elfsborg and Halmstads. In a follow–up win against IFK Norrköping, he helped the side win the league title with Malmö FF three matchdays before the end of the season. Rosenberg finished the 2017 season with 25 appearances and 8 goals in all competitions.
2018 season At the start of the 2018 season, Rosenberg kept his first team place as well as his captaincy of the side. Rosenberg started the season well when he scored his first goal of the season, in a 1–0 win against
Dalkurd in the Svenska Cupen match. Two weeks later on 6 March 2018, Rosenberg reached a milestone in his Malmö FF career when he scored twice to add up his tally to 101 goals in his time at the club, in a 2–2 draw against
FC Nordsjælland in a friendly match. Rosenberg then scored three more goals throughout April, including a brace against Brommapojkarna on 23 April 2018. In the
Svenska Cupen Final against Djurgården, he captained and started in the match, as the side lost 3–0. His goal scoring spree continued throughout July, scoring five times despite missing one match through suspension along the way. He helped Malmö FF advance past the
2018–19 group stage after scoring in both legs in a 4–2 win on aggregate against
FC Midtjylland. Rosenberg then scored four more goals in the following two months. He scored two goals in two matches in the remaining two league matches of the season against IFK Göteborg and Elfsborg. Until the end of the 2018 season, Rosenberg went on to make 46 appearances and scoring 19 times in all competitions. It was announced on 9 November 2018 that he had signed another one–year contract extension.
2019 season and retirement , the club's supporters deployed a tifo across the
Stadion to pay tribute to Rosenberg. At the start of the 2019 season, Rosenberg retained his first team place as well as his captaincy of the side. On 14 April 2019, he scored his first goal of the season and set up the club's first goal in a 2–0 win against Östersunds. A week later, on 22 April 2019, Rosenberg scored his second goal of the season, in a 4–1 win against Hammarby. He then scored two consecutive braces between 5 May 2019 and 12 May 2019, in wins against Falkenbergs and Elfsborg. On 30 June 2019, Rosenberg said he was going to retire from professional football at the end of the 2019 season. He then scored a hat–trick and set up the club's sixth goal in a 7–0 win against
Ballymena United in the first leg of the UEFA Europa League first round. Rosenberg, once again, helped Malmö FF advance past the
2019–20 UEFA Europa League group stages, having scored two more goals in the play–offs round. Shortly after the club's qualification to the Group Stage qualification, he scored twice, in a 5–0 win against Kalmar. Rosenberg later scored two more goals in the following two months. In the last game of the season against Örebro, he scored twice in a 5–0 win; Malmö FF finished second place in the league trailing league winners Djurgården by one point. In his last ever home game for Malmö FF, Rosenberg scored two goals in a 4–3
Europa League win against
Dynamo Kyiv including the game-winning 4–3 goal in the 96th minute. Prior to the match, he was given a lap of honour with his former teammates and managers attending his last home match at the
Stadion. In addition, Rosenberg had his bronze shoes placed at the stadium as for his contributions, dedication and commitment to Malmö FF. He finished the 2019 season with 42 appearances and 21 goals in all competitions. ==Post-playing career==