After a good early career with Västra Frölunda IF, he was signed as a free agent in 1980 by the St. Louis Blues' general manager Emile Francis. Known as "The Handsome Swede" by Blues supporters, Petterson made an impact as an excellent first-line forward alongside Bernie Federko and Brian Sutter, setting the team record for points as a rookie with 73. He played four more seasons as a regular with the Blues.
Pettersson was traded to the Hartford Whalers in 1985 to rejoin Emile Francis. During the 1985–86 NHL season he was traded to the Washington Capitals in exchange for Doug Jarvis. Pettersson returned to Sweden to play for Frölunda until 1990-91. He played three more seasons with lower-ranked Swedish teams and retired in 1995.
In the NHL Pettersson played in 435 regular season games and scored 174 goals and 192 assists. In the playoffs he scored 15 goals and 12 assists in 44 games.