In 2004–05, prior to being drafted to the NHL, Bergfors played for hometown club Södertälje SK of the Elitserien. Bergfors spent the 2005–06 season with the New Jersey Devils' American Hockey League affiliate, the Albany River Rats, scoring 17 goals and 40 points in 65 games. During the season, he represented Sweden at the 2006 World Junior Ice Hockey Championships, scoring three goals and six points in six games. In 2006–07, Bergfors played for New Jersey's new AHL affiliate, the Lowell Devils, where he scored 13 goals and 32 points in 60 games. He once again played with Sweden in the 2007 World Junior Championships, where he posted two assists in seven games. Bergfors returned to Lowell for the 2007–08 season, where he saw his production decrease to 12 goals and 27 points in 66 games. He did make his NHL debut, however, going pointless in one game with New Jersey. He spent the majority of the 2008–09 season with Lowell, scoring 22 goals and 51 points in 66 games, also playing in eight games with New Jersey, scoring one goal. In 2009–10, Bergfors made the Devils' opening day roster, and in 54 games with New Jersey, he scored 13 goals and 27 points. On 4 February 2010, however, the Devils traded Bergfors, along with Johnny Oduya, Patrice Cormier and their first-round pick in 2010, to the Atlanta Thrashers in exchange for Ilya Kovalchuk, Anssi Salmela and Atlanta's second-round pick in 2010. Bergfors finished 2009–10 with Atlanta, where he scored eight goals and 17 points in 27 games. After the season, he was named to the NHL All-Rookie Team after scoring 21 goals and 44 points in 81 games with both the Devils and Thrashers. In 2010–11, Bergfors saw his numbers slide, scoring 11 goals and 29 points in 52 games with Atlanta. On 28 February 2011, the Thrashers traded Bergfors and Patrick Rissmiller to the Florida Panthers for Radek Dvořák and Florida's fifth-round draft pick in 2011. On 4 July 2011, Bergfors signed a one-year, $575,000 contract with the Nashville Predators as a free agent. He was put on unconditional waivers by the Predators on 24 November 2011, making him a free agent. Bergfors then signed with the Ak Bars Kazan on 2 December 2011, playing just eight games before joining Severstal Cherepovets on a two-year contract. In June 2013, he was drafted at the KHL Expansion Draft by Admiral Vladivostok. After 12 years playing professionally abroad, Bergford returned to his native Sweden agreeing to a two-year contract with Linköpings HC of the SHL on May 4, 2016. On February 15, 2017, Niklas left mid-season to sign a contract with fellow SHL club, Djurgårdens IF Hockey until the end of the 2018 season.