Pierwszym klubem Lindgrena była Indianerna Kumla, dla której jeździł w latach 2000–2003. Od 2004 startuje również w lidze polskiej. Jego pierwszym klubem był GKM Grudziądz. W 2006 r. dołączył do Falubazu Zielona Góra. W sezonie 2006 w I lidze polskiej uzyskał średnią biegową równą 2,26, dzięki czemu walnie przyczynił się do awansu klubu do Ekstraligi. W 2007 razem z Dackarną Målilla wygrał szwedzką Elitserien, tym samym pierwszy raz w karierze został drużynowym mistrzem Szwecji. Został uhonorowany stałą dziką kartą na starty w GP na sezon 2008. Został także uhonorowany dziką kartą na starty w cyklu GP 2009. W 2009 roku razem z Wolverhampton Wolves wygrał Elite League[3].
Na początku sezonu 2009, po turnieju o Grand Prix Czech, przez dwa tygodnie był liderem klasyfikacji przejściowej cyklu Grand Prix. Stało się tak, gdyż pomimo zajęcia w inaugurujących sezon zawodach drugiego miejsca, zdobył więcej punktów (19) niż ich zwycięzca – Emil Sajfutdinow (17). Prowadzenie w cyklu utracił jednak już po następnych zawodach (o Wielką Nagrodę Europy), gdzie zdobył zaledwie dwa punkty i spadł w przejściowej klasyfikacji na siódme miejsce.
W roku 2010 zdobył indywidualne wicemistrzostwo Szwecji a także srebrny medal Drużynowych Mistrzostw Polski z drużyną z Zielonej Góry. Po sezonie 2010 odszedł z Falubazu Zielona Góra. Przez cały okres startów dla tej drużyny wywalczył 3 medale DMP (2009-złoty, 2010-srebrny i 2008-brązowy). W 2011 jeździł dla Unii Tarnów[4], a w 2012 dla Sparty Wrocław[5]. 26 maja 2012 roku odniósł swoje pierwsze zwycięstwo w pojedynczej rundzie Grand Prix triumfując w Grand Prix Szwecji w Göteborgu.
W 2013 był zawodnikiem Unii Leszno. Jego średnia biegowa w Ekstralidze wyniosła 1,773[6]. Podobnie jak w dwóch poprzednich latach zmienił klub po jednym sezonie startów i w 2014 jeździł dla Wybrzeża Gdańsk, z którym spadł z ligi.
W 2015 roku z reprezentacją Szwecji zdobył drużynowe mistrzostwo świata, mając duży wkład w końcowy triumf szwedzkiej drużyny[7]. W latach 2015–2016 jeździł dla SK Lokomotīve Dyneburg, z którym dwukrotnie wygrał polską I ligę. Drużyna nie wywalczyła jednak awansu do Ekstraligi z uwagi na przepisy, które dopuszczają zagraniczne drużyny jedynie do startów w niższych klasach rozgrywkowych w Polsce. Z powodu braku awansu do najwyższej ligi zdecydował się opuścić klub i przeszedł do ROWu Rybnik[8]. Ponadto w sezonie 2016 ponownie startował w cyklu Grand Prix zastępując Jarosława Hampela[9].
Sezon 2017 był jednym z lepszych w jego karierze. Szwed wygrał Grand Prix Polski i przez długi czas utrzymywał się w czołówce cyklu. Szansy na medal pozbawiła go kontuzja, w wyniku której nie mógł wystartować w dwóch ostatnich turniejach. Liczba jego punktów wystarczyła jednak by utrzymać się w cyklu na rok 2018. Ponadto zdobył srebrny medal Drużynowych Mistrzostw Świata, a także wicemistrzostwo Szwecji. W tym samym roku dołączył do tzw. „Klubu 100”, do którego przynależą zawodnicy, którzy w swojej historii startów odjechali 100 i więcej turniejów Grand Prix. W sezonie 2017 w polskiej PGE Ekstralidze wystartował w 13 meczach, w których zdobył 128 punktów i 6 bonusów. Jego średnia biegowa wyniosła 1,887 punktu na bieg.
W 2018 roku reprezentował barwy dwóch drużyn, polskiego Włókniarza Częstochowa i szwedzkiej Eskilstuny Smederny. Sezon na polskich torach rozpoczął bardzo dobrze, już w pierwszym meczu w barwach Włókniarza zdobywając duży komplet punktów. Wysoką formę utrzymywał przez większą część sezonu, kończąc go ze średnią biegową 2,146 - najwyższą w dotychczasowej karierze. Dobre występy w polskiej lidze miały przełożenie na starty w cyklu Grand Prix, gdzie zdobył swój pierwszy w karierze brązowy medal. Był to jednocześnie pierwszy medal IMŚ szwedzkiego zawodnika od 7 lat. Równie dobrze spisywał się w Szwecji, gdzie z Eskilstuną wygrał rozgrywki ligowe osiągając średnią biegową 2,379[10].
Sezon 2019 był drugim, w którym Lindgren znalazł się w ścisłej czołówce GP - cykl ukończył na czwartym miejscu. Obronił również drużynowe mistrzostwo Szwecji z Eskilstuną. 17 sierpnia 2019 w zwycięskiej dla siebie rundzie Grand Prix w Målilli wziął udział w tragicznym wypadku. W szóstym biegu jadący na drugiej pozycji Patryk Dudek upadł po zahaczeniu motocyklem o bandę. O koło motocykla Polaka przewrócił się również Max Fricke. Jadący za Dudkiem Lindgren, aby nie wpaść z całym impetem na leżącego Polaka, mając jednocześnie ułamki sekundy na podjęcie decyzji, podniósł przednie koło, tylnym zahaczając o jego motocykl, przez co sam upadł i odniósł obrażenia. Uratował jednak Patryka Dudka przed tragedią[11].
W sezonie 2020 zrezygnował ze startów w lidze szwedzkiej, tym samym startując tylko w lidze polskiej z Włókniarzem Częstochowa. Podobnie jak dwa lata wcześniej, Szwed zanotował bardzo dobry start sezonu zarówno w lidze, jak i w Grand Prix, gdzie po 4 z 8 rund prowadził z dosyć wyraźną, jak na tę fazę sezonu siedmiopunktową przewagą nad drugim Bartoszem Zmarzlikiem. Słabsza druga połowa sezonu sprawiła, że w Grand Prix ostatecznie wywalczył brąz, przegrywając dodatkowy wyścig o 2. miejsce z Taiem Woffindenem. Sezon w lidze polskiej Włókniarz skończył na 5. miejscu, a Lindgren osiągnął średnią biegową 1,892, co czyniło go 15. najskuteczniejszym zawodnikiem ligi.
W sezonie 2021 powrócił do startów w lidze szwedzkiej - podpisał kontrakt z drużyną Västervik Speedway[12]. Zaszedł z nią do półfinału rozgrywek, przegrywając w nim z późniejszym mistrzem - Dackarną Målillą. Cykl Grand Prix drugi raz w karierze zakończył na czwartym miejscu, mimo że aż do ósmej z jedenastu rund utrzymywał się w strefie medalowej. O wiele słabszy niż poprzednie sezon zaliczył natomiast w lidze polskiej, który zakończył z dopiero 28. średnią biegową wynoszącą 1,652. W jego słabszej niż pierwotnie zakładano jeździe zaczęto dopatrywać się jednej z przyczyn braku awansu Włókniarza do fazy play-off[13]. W listopadzie 2022 został przedstawiony jako zawodnik Motoru Lublin na sezon 2023[14].