Gustafsson var en del av det svenske K4-laget som ved de olympiske leker i Sydney i 2000 kom inn på en åttendeplass. I de olympiske leker i Aten i 2004 konkurrerte han i K1-500m, og kom til semifinalene. I de olympiske leker i Peking i 2008 kom Gustafsson seg til finalen, hvor han til slutt endte på en 7.-plass. Han deltok også i K2-1000m sammen med Markus Oscarsson, men de gav opp i forsøksheatet.