Op 1 mei 1986 maakte Nilsson zijn interlanddebuut tegen Griekenland, de wedstrijd eindigde zoals deze begonnen was: 0-0. Hij vertegenwoordigde zijn vaderland bij de Olympische Spelen in 1988. Nilsson ging mee naar het wereldkampioenschap voetbal 1990, waar Zweden niet wist te overleven in een poule met Brazilië, Schotland en Costa Rica. In alle drie de wedstrijden, die allemaal met 2-1 verloren gingen, speelde Nilsson. Twee jaar later was er op eigen bodem meer succes toen op het EK als debutant de halve finale bereikt werd, waar het verenigde Duitsland met 3-2 te sterk was. Ook op dit eindtoernooi was Nilsson in elke wedstrijd aanwezig. Ook op het WK van 1994 speelde Nilsson elke wedstrijd. Ditmaal werd de groepsfase, met wederom Brazilië, wel overleefd en bereikten de Zweden zelfs verrassend de halve finale door Saoedi-Arabië (3-1) en Roemenië te verslaan. Tegen Roemenië, waar na 120 minuten een 2-2 stand op het bord stond, benutte Nilsson net als alle andere Zweden zijn penalty, waardoor de Scandinaviërs de halve finale wisten te bereiken. In de halve finale bleek Romário's Brazilië ditmaal wel de betere (1-0 door een doelpunt van Romário). In de troostfinale werd Bulgarije met 4-0 overklast. Hij speelde zijn honderdste interland voor Zweden op woensdag 10 februari 1999, toen in Tunis met 1-0 werd gewonnen van Tunesië. Nilsson's laatste eindronde was het Europees kampioenschap van 2000, waar hij alleen in de openingswedstrijd speelde. Na een defensieve fout, waaruit Bart Goor wist te scoren, liep hij een hersenschudding op en moest hij met rust gewisseld worden. Later dat toernooi kwam hij niet meer in actie. Op 11 oktober van datzelfde jaar speelde hij zijn laatste interland tegen Slowakije, die net als zijn debuut in 0-0 eindigde.