Gustafsson zaczął grać w piłkę nożną w młodym wieku, w lokalnym klubie Helsingborgs IF. Uważano go za wielki talent, ale nie udało mu się przebić do seniorskiej drużyny Helsingborgs IF. W związku z tym przeniósł się do drugoligowego klubu IK Brage. W następnym sezonie związał się z Högaborgs BK. Przed sezonem 2003, dołączył do Falkenbergs FF[2]. W kolejnych siedmiu sezonach był pewnym punktem zespołu i nie opuścił prawie żadnego meczu. Rozegrał dla klubu 193 ligowych spotkań, aż do zakończenia kariery po sezonie 2009. Zdobył cztery bramki.
Kariera trenerska
Karierę trenerską rozpoczął w 2010 roku w drużynie do lat 17, klubu Halmstads BK, gdzie awansował na trenera drużyny do lat 21, a później pierwszej drużyny[2][3]. 19 listopada 2014 został zwolniony z funkcji pierwszego trenera klubu[4]. Od 7 marca 2015 był selekcjonerem reprezentacji Szwecji U-21, z którą wywalczył mistrzostwo Europy do lat 21., organizowanych w Czechach. 4 stycznia 2016 został zatrudniony jako asystent trenera w AIK Fotboll[2]. Z początkiem czerwca 2016, do 19 grudnia 2020 był trenerem IFK Norrköping[2][5]. 28 maja 2021 został zakontraktowany jako trener Hajduka Split[6][2]. W styczniu 2022 roku został ponownie zatrudniony, jako selekcjoner reprezentacji Szwecji do lat 21[7][8]. W maju tego samego roku Pogoń Szczecin ogłosiła, że Gustafsson zastąpi Kostę Runjaicia na funkcji trenera drużyny[9][10]. 15 sierpnia 2024 roku odszedł z Pogoni Szczecin i związał się umową z saudyjskim Al-Fateh SC[11].