In seiner Amateurzeit gewann er außerdem 1975 die Algerien-Rundfahrt und 1976 die Tour de l’Avenir. Auf nationaler Ebene konnte er 1972 die schwedische Meisterschaft im Straßenrennen und 1973 im Mannschaftszeitfahren mit seinem Club gewinnen. 1972 siegte das schwedische Team mit Nilsson bei den Skandinavischen Meisterschaften im Mannschaftszeitfahren. Letztere Meisterschaft gewann er noch weitere drei Mal.[1] Im britischenMilk Race holte er 1972 einen Etappensieg, 1974 in der Jugoslawien-Rundfahrt. Nilsson startete 1976 auch bei der Internationalen Friedensfahrt, musste nach einem Sturz aber das Rennen vorzeitig beenden.[2]
Er startete 1974 in der DDR-Rundfahrt und belegte er auf der 6. Etappe: Dessau – Nordhausen, 143 km, am 5. September 1974 – ebenfalls als Harzrundfahrt gewertet – nach Hans-Joachim Hartnick den 2. Platz vor Gerhard Lauke, wurde damit bester ausländischer und schwedischer Fahrer. Beim Sieg von Hans-Joachim Hartnick wurde er ebenfalls Zweiter der Gesamteinzelwertung vor Gerhard Lauke und auch hier bester ausländischer und schwedischer Fahrer.
In den folgenden Jahren war Nilsson bei den Grand Tours erfolgreich: Er wurde Gesamtdritter und Etappensieger der Vuelta a España 1982. Er startete fünfmal bei der Tour de France, wobei seine besten Platzierungen Rang sieben 1980 und Rang acht 1981 waren. Zweimal startete er beim Giro d’Italia und wurde 1983 27. der Gesamtwertung sowie 1984 35. Er startete mehrfach bei den UCI-Weltmeisterschaften im Straßenrennen für die schwedische Nationalmannschaft. Sein bestes Ergebnis dabei erreichte er 1982 im britischen Goodwood mit dem 11. Platz.[3]