In seiner Jugend spielte Mattias Gustafsson noch bei Åkersberga und Skånela, bevor er zum Stockholmer Verein Polisen/Söder kam. Hier debütierte er in der ersten schwedischen Liga. 1999 wechselte Gustafsson nach Norwegen zu Viking Stavanger, wo er 2000 den norwegischen Pokal gewann. Nach nur einem Jahr kehrte er jedoch nach Schweden zurück, wo er sich dem IFK Skövde HK anschloss. Dort gewann er 2004 den EHF Challenge Cup, 2005 zog er ins Finale der schwedischen Meisterschaft ein, wo er allerdings dem IK Sävehof unterlag. 2006 ging Gustafsson nach Dänemark zum FCK Håndbold. Mit dem Hauptstadtclub gewann er in der Saison 2006/07 die dänische Meisterschaftsrunde, schied aber im Halbfinale der Play-offs aus. Ein Jahr später gewann er schließlich mit dem FCK die dänische Meisterschaft. Im Sommer 2008 wechselte Gustafsson zu AaB Håndbold, mit dem er 2010 die dänische Meisterschaft gewann. Daraufhin wurde er zu Schwedens Handballer der Saison 2009/10 gewählt.[3] Im Sommer 2010 wechselte er zum TuS N-Lübbecke.[4] Zur Saison 2014/15 kehrte er nach Schweden zum Erstliga-Aufsteiger Ricoh Handboll zurück.[5]