Gran parte della carriera di Olsson si è svolta con la maglia del Gefle, la principale squadra della sua area di origine. Qui è stato più volte miglior marcatore stagionale della sua squadra. Due le parentesi con una maglia diversa: l'esperienza al Malmö FF a metà anni '80 e quella subito successiva all'Halmstad.
Allenatore
Ritiratosi dall'attività di giocatore, è rimasto al Gefle in qualità di vice del capo allenatore Stefan Lundin, con la squadra impegnata nel campionato di seconda serie. Dopo tre anni da vice e mezzo da allenatore delle giovanili, nel luglio 1996 gli viene affidata la prima squadra.[1] Al termine della stagione 1999 retrocede in terza serie, avendo perso gli spareggi contro il Café Opera per effetto della regola dei gol segnati in trasferta (0-0, 2-2), ma già dopo un anno riesce a riconquistare la categoria. Ritornato dunque nel campionato di Superettan, il suo neopromosso Gefle manca gli spareggi-promozione per un punto.
Nel 2003 lascia il Gefle per tornare a lavorare come vice di Stefan Lundin, che nel frattempo era approdato sulla panchina dell'Örebro. Al termine del suo secondo anno da vice all'Örebro, la squadra bianconera è stata costretta a scendere in Superettan per problemi finanziari, nonostante l'8º posto nella Allsvenskan 2004.
È poi ritornato al Gefle prima dell'inizio della stagione 2005, ereditando la guida tecnica da Kenneth Rosén che era appena morto di cancro dopo aver riportato la squadra in Allsvenskan a 21 anni dall'ultima presenza.[2] Durante questa nuova parentesi di Olsson al Gefle, durata 9 anni, la squadra ha sempre raggiunto la salvezza. Prima dell'inizio dell'Allsvenskan 2012, il quotidiano Aftonbladet lo ha dichiarato miglior allenatore del campionato, motivando il riconoscimento con la sua capacità di costruire squadre a fronte di limitate risorse economiche.[3]
Al termine della stagione 2013 ha lasciato il Gefle per diventare tecnico del Djurgården.[4] Al primo anno stoccolmese, la sua formazione ha chiuso al 7º posto in classifica. Un anno più tardi ha terminato l'Allsvenskan 2015 al 6º posto, grazie anche a una striscia di 15 risultati utili consecutivi (10-5-0) a fronte di un negativo inizio di campionato.[5] Il 3 agosto 2016 è stato sollevato dalla guida del Djurgården, nonostante due mesi prima avesse firmato un rinnovo fino al 2018.[6] Al momento dell'esonero la squadra era terzultima in classifica, avendo conseguito 5 vittorie, 0 pareggi e 11 sconfitte.[7]
Dalla stagione 2017 Olsson è il tecnico dell'AFC Eskilstuna, dove ha ereditato la panchina di Özcan Melkemichel (a sua volta approdato proprio al Djurgården).[8] La squadra è debuttante nel campionato di Allsvenskan nonostante fosse stata fondata solo pochi anni prima, e per la prima volta gioca nella cittadina di Eskilstuna visto lo spostamento di sede appena compiuto.[9] Il difficile avvio di campionato ha indotto la dirigenza a esonerare Olsson già il 28 maggio, all'indomani della sconfitta per 4-1 contro la sua ex squadra del Djurgården. In quel momento la squadra era ultima in classifica, avendo collezionato solo 4 punti nelle prime 11 giornate.[10]
Qualche mese dopo, nell'ottobre 2017, è sceso nella terza serie nazionale assumendo la duplice carica di allenatore e di direttore sportivo del Sandviken.[11] Ha mantenuto questo ruolo fino al 1º dicembre 2020, giorno in cui il club ha reso nota la sua partenza per approdare all'Halmstad.[12]
Nel nuovo club, l'Halmstad per l'appunto, Olsson ha rivestito sia il ruolo di assistente del capo allenatore Magnus Haglund che quello di analista e scout.[13] È rimasto per oltre tre stagioni e mezzo, concluse rispettivamente con una retrocessione dall'Allsvenskan 2021, con il ritorno nella massima serie grazie al secondo posto nella Superettan 2022 e con il dodicesimo posto e la salvezza nell'Allsvenskan 2023. Insieme allo stesso Haglund è stato esonerato il 27 agosto 2024 per via dei risultati di squadra, quartultima a dieci giornate dalla fine e reduce da una striscia di sette sconfitte nelle precedenti otto partite di campionato.[14]
Nel settembre 2024 è tornato a lavorare per il Djurgården, questa volta nel ruolo di osservatore.[15]