Halvarsson won the bronze medal in slalom at the European Junior Championships in 1979 in Achenkirch . He scored his first points in a World Cup race on March 10, 1980 when he finished tenth in the Cortina d'Ampezzo slalom . In the same year he won the Swedish giant slalom championship title. In the following two winters he was twice in the top 15 in the World Cup, while he was eliminated from the 1982 World Cup slalom race . In the 1982/83 season he got six placements in the top 15, including a sixth place in Kranjska Gora .
Halvarsson had his most successful season in the winter of 1983/84 . Twice he achieved a podium finish in slalom, on March 6, 1984 in Vail and on March 18, 1984 in Åre . At the 1984 Winter Olympics in Sarajevo, he was eighth in slalom and received an Olympic diploma. A little later he won the Swedish Slalom Championship.
In the two following winters, Halvarsson was able to place himself just under the top ten twice. In the winter of 1986/87 there were no countable results. At the Olympic Winter Games in 1988 he was eliminated in slalom, on March 20, 1988 he achieved his last top 10 result as fifth in the combination of Åre. At the end of the 1988/89 season he resigned from top-class sport.