 Pettersson placed just outside the medals in three Olympic Games.In 1956 he jumped 2.06 m finishing fourth; he was briefly in a tie for the Olympic record, but it was broken during the competition.Four years later in Rome he cleared 2.09 m for the fifth place, and in Tokyo in 1964 he placed fourth again, despite his best Olympic jump of 2.14 m.

At the 1958 European Championships, held in his home city of Stockholm, Pettersson won the bronze medal with a jump of 2.10 m. At the 1962 Championships in Belgrade he cleared 2.13 m, enough for a silver medal behind the future Olympic Champion Valeriy Brumel.