Nilsson began his career during the season of 1973–74, playing for Djurgårdens IF during his first of four seasons in Sweden. He then came to North America, and played for the Winnipeg Jets of the World Hockey Association (WHA) beginning in 1977. He scored two consecutive 100-point seasons in the WHA, and his offensive production continued when the league merged with the NHL. He was claimed by the Atlanta Flames, and in his first season with the team he scored 93 points. The next season, 1980–81, the Flames moved to Calgary; Nilsson scored 131 points, which is still the team record, and he came third in NHL scoring.