Lindström came through the youth ranks of Skellefteå AIK, before joining the Modo Hockey youth program. He logged his first minutes in the country's top-flight Swedish Hockey League for Modo during the 2000-01 season.
Lindström made his NHL debut the following season, 2005–06, with the Blue Jackets and played in a further 37 games with Columbus before he was traded to the Anaheim Ducks for a conditional draft pick on 15 July 2008.
On 3 October 2008, Lindström was claimed off waivers by the Chicago Blackhawks,[2] but was consequently re-claimed back by the Ducks on 7 October 2008. He was then assigned to the Ducks' top affiliate, the Iowa Chops, of the AHL.[3]
On 3 December 2008, the Ducks traded Lindström to the Phoenix Coyotes in exchange for Logan Stephenson.[4] Lindström was recalled by Phoenix on 8 December 2008,[5] and made his Coyotes debut in a 5–3 win over the Dallas Stars on 10 December 2008.[6]
Lindström was not re-signed by the Coyotes at season's end, and on 13 July 2009, he left North America and signed a one-year contract with Russian team Torpedo Nizhny Novgorod of the Kontinental Hockey League (KHL).[7] In the 2009–10 season, he led the club with 20 assists and scored 30 points, though Torpedo failed to qualify for the post-season.
On 18 May 2010, Lindström returned to the Elitserien, signing with Skellefteå AIK for the 2010–11 season.[8] In 54 games, he scored 60 points to lead the League in scoring as AIK finished as silver medalists in the playoffs. He was also selected to the Elitserien All-Star Team.
On 15 June 2011, Lindström signed a one-year contract to return to the NHL with the Colorado Avalanche.[9] On 29 November 2011, however, Lindström was waived by the Avalanche, whereupon he returned to Skellefteå AIK in Sweden.
On 28 May 2014, after helping Skellefteå to a second consecutive title and being selected as the Swedish Hockey League's MVP, Lindström signed a one-year free agent contract with the St. Louis Blues, marking a third attempt to establish himself within the NHL.[10] In the 2014–15 season, Lindström made the Blues' opening night roster, but was unable to secure a top six position on the Blues' scoring lines. Primarily used as a depth player, Lindström contributed with three goals in 34 games before on 2 March 2015, he was traded by the Blues to the Toronto Maple Leafs, along with a conditional draft pick (Nicolas Mattinen), in exchange for Olli Jokinen.[11]
Lindström's stint in Toronto would be short, as he signed a one-year contract with SKA Saint Petersburg of the KHL shortly after the regular season ended on 1 May 2015.[12] He left Saint Petersburg after the 2015–16 season and signed to return to Skellefteå AIK on 27 April 2016.[13]
During the 2017–18 season, with the exclusion of NHL contracted players, Lindström was selected to represent Sweden at the 2018 Winter Olympics in Pyeongchang, South Korea. Used in a scoring role, he finished scoreless through 4 games in a fifth place finish.