Aalborg Boldspilklub
Nilsson played for IK Brage, IF Elfsborg, sc Heerenveen, Aalborg Boldspilklub and AS Saint-Étienne. In 2007, Nilsson was loaned to Elfsborg from SC Heerenveen. Nilsson signed for Saint-Étienne on 8 August 2007, after leaving Heerenveen, in a four-year deal worth up to €3 million. In January 2009 he moved to Vitesse Arnhem on loan, a move which became permanent when he signed a three-year deal in June 2009.