Nordahl made his debut in Allsvenskan 1964 for Degerfors IF when he was 17 years. A year after he moved to Örebro SK and became a key player there. He played 77 matches for them and scored 41 goals. 1968 he moved to the Italian club Juventus who finished third in serie A the 1967-68 season. However, shortly after Nordahl signed the contract, the Serie A issued a ban which stopped all clubs from bringing in foreign players. Nordahl was contracted with Juventus but couldn't play because of this ban. This forced Juventus to loan him out to RSC Anderlecht. Nordahl stayed in Anderlecht for three years (1971), after those three years, the contract with Juventus ended and the ban still hadn't been lifted. Nordahl left the club without playing a match for them and went to his old club Örebro. He played there 7 years between 1971 and 1978 making 175 appearances and scoring 65 goals, resulting in a total of 252 appearances and 106 goals for the club. In 1979 (the season began 1980) he went to another Swedish club, Bk Forward, and played 45 matches and scored 21 goals. In 1980 an injury forced Nordahl (34) to quit playing football. He went on to coach a number of Swedish clubs. Nordahl has made 15 international appearances for Sweden and has scored 5 goals, he also made 17 appearances for the Swedish youth team. Nordahl was included in the Swedish 1970 Mexico world cup squad.