Bei den Olympischen Spielen 1928 in Amsterdam konnte sich Petersson im 110-Meter-Hürdenlauf nicht für das Finale qualifizieren. Bessere Resultate erzielte er auf längeren Distanzen. Im 400-Meter-Hürdenlauf sowie mit der schwedischen 4-mal-400-Meter-Staffel belegte er jeweils den vierten Rang. Bei den Olympischen Spielen 1932 in Los Angeles trat er im 400-Meter-Lauf an, schied jedoch bereits im Vorlauf aus. Im 400-Meter-Hürdenlauf erreichte er die Halbfinalrunde.
Zwischen 1923 und 1933 wurde Pettersson insgesamt 22-mal Schwedischer Meister: zweimal im 100-Meter-Lauf, dreimal im 200-Meter-Lauf, einmal im 400-Meter-Lauf, sechsmal im 110-Meter-Hürdenlauf, siebenmal im 400-Meter-Hürdenlauf und dreimal im Standhochsprung. 1925 verbesserte er den Weltrekord im 400-Meter-Hürdenlauf auf 53,8 Sekunden, den zuvor der US-Amerikaner Frank Loomis fünf Jahre lang mit 54,0 Sekunden gehalten hatte. 1927 stellte er im 110-Meter-Hürdenlauf mit 14,8 Sekunden den sieben Jahre alten Weltrekord des Kanadiers Earl Thomson ein.