Berglund began his career with his hometown team the Malmö Redhawks, playing in their various junior team setups before playing in the HockeyAllsvenskan, Sweden's second-tier ice hockey league, in the 2008–09 season. He then went to play in the junior Canadian Hockey League the following year, where he was selected by the Western Hockey League's Portland Winterhawks in the 2009 CHL Import Draft. He would split his first season in the WHL between the Winterhawks and Lethbridge Hurricanes, having been traded to the Hurricanes on January 11, 2010 for future NHL playerLuca Sbisa. He then spent a full season with Lethbridge before returning to Sweden in 2011, signing for IF Troja-Ljungby of HockeyAllsvenskan. Berglund spent three years with Troja-Ljungby before moving to Norway to sign for Storhamar Ishockey of the GET-ligaen on September 20, 2014. He would scored 65 goals and 137 points in 111 games in his two seasons with Storhamar, becoming the league's Player of the Year in 2016. He moved to Switzerland, signing for HC Red Ice of the National League B on June 6, 2016. He scored 26 goals and 66 points in 48 games in his one season for the team before moving to Germany's Deutsche Eishockey Liga, signing for ERC Ingolstadt on April 2, 2017. Berglund endured a difficult season in the DEL, managing just four goals and ten points in 49 games. He would be released and he subsequently returned to Storhamar on February 14, 2018 to finish the 2017–18 season with them. He would then return to the DEL for the 2018–19 season, joining the Krefeld Pinguine. He produced a much improved season, with 32 goals and 52 points from 51 games. On May 1, 2019, Berglund moved to Dinamo Riga of the KHL. Berglund opened the 2019–20 season, playing only 8 games with Riga before he moved to HC Neftekhimik Nizhnekamsk on 12 October 2019. He quicley adapted with Neftekhimik, adding 13 goals and 25 points in 43 games. On 19 May 2002, Berglund continued his tenure in the KHL, securing a one-year contract with Traktor Chelyabinsk.