SHL Pettersson made his
Swedish Hockey League (SHL) debut playing with
Skellefteå AIK during the
2013–14 season. Pettersson began the
2017–18 season playing for the
San Diego Gulls of the
American Hockey League. He was called up to the NHL on 21 February 2018, and he recorded his first NHL goal on 4 March, in a 6–3 win against the
Chicago Blackhawks.
Pittsburgh Penguins During the
2018–19 season, on 3 December 2018, Pettersson was traded by the Ducks to the
Pittsburgh Penguins in exchange for
Daniel Sprong. He scored his first goal with the Penguins on 7 February 2019, against the
Florida Panthers. On 12 September 2019, Pettersson re-signed with the Penguins on a one-year contract worth $874,125. On 28 January 2020, Pettersson signed a five-year, $20.125 million contract extension with the Penguins. On 9 March 2023, Pettersson recorded an assist for his 100th NHL point. Pettersson was placed on long-term injured reserve after suffering an injury on 18 March 2023. He returned to the line-up on 13 April after missing 12 games. Pettersson was injured on 14 December 2024, and was placed on injured reserve. He was activated from injured reserve on 31 December.
Vancouver Canucks On 31 January 2025, Pettersson was traded to the
Vancouver Canucks along with forward
Drew O'Connor, in exchange for forward
Danton Heinen, defenceman
Vincent Desharnais, right wing prospect
Melvin Fernström and a conditional
2025 first-round pick. On February 5, Pettersson signed a six-year, $33 million contract extension with the Canucks. ==International play==