Gunnar started racing in Formula Super Vee in 1973 learning a great deal from Freddy Kottulinsky, who took him under his wing. That year he also made a stab at Formula 2 at the Norisring and did remarkably well to finish fourth on aggregate driving a GRD.
In 1974 he raced in the German F3 championship in a March, and easrned a drive in the British series alongside Alex Ribeiro in 1975. He promptly won the first race at Thruxton and went on to win the championship. Late in the year with the F3 crown in the bag he switch to Formula Atlantic and won the last five rounds in succession driving a Chevron B29.
In 1976 with Gunnar under contract to March, a deal was done where Colin Chapman released Ronnie Peterson to return to the March F1 team and Gunnar was free to join the Lotus Grand Prix team. At the time Lotus were down and out with Ickx and Peterson had abandoned ship when the 76 proved a poor replacement for the fifth-generation 72. However with the new 77 showing promise and Andretti also joining, the team was soon on the way up again, with Nilsson learning from Mario. His debut year saw a podium finish at only his third race and talk of a future World Champion was abound.
In 1977 driving the ground-effect Lotus 78, Nilsson won the rain-soaked 1977 Belgian Grand Prix at Zolder after a first lap incident eliminating both Andretti and John Watson's Brabham-Alfa.
By the end of the season Gunnar's health was begining to give cause for concern but undaunted he signed for the fledgling Arrows team alongside Riccardo Patrese for the 1978 season. Sadly his health deteriorated further and he was unable to drive the car, with Rolf Stommelen stepping in as a replacement.
Arrows announced that they would keep the drive open for him until he recovered, however Gunnar was suffering from terminal cancer.
He died in the autumn having lived to see the lauch of the Gunnar Nilsson Cancer Foundation which his mother (Elisabeth Nilsson) created.