Nilsson speelde als middenvelder. Hij kwam uit voor Malmö FF en Sporting Gijón (Spanje). Hij sloot zijn profloopbaan in 1995 af bij Landskrona BoIS, de club waar hij ooit begon.
In 1988 vertegenwoordigde Nilsson zijn vaderland bij de Olympische Zomerspelen in Seoel. Daar werd Zweden in de kwartfinale uitgeschakeld door Italië (1-2). Nilsson speelde in totaal 27 interlands (één doelpunt) in de periode 1988-1992. Onder leiding van bondscoach Olle Nordin maakte hij zijn debuut op 31 maart1988 in de vriendschappelijke wedstrijd tegen West-Duitsland (1-1) in West-Berlijn. Hij viel in dat duel na 83 minuten in voor aanvaller Johny Ekström. Nilsson nam met zijn vaderland deel aan het WK voetbal 1990 en het EK voetbal 1992.