Larsson började tävlingscykla i 14-årsåldern och han blev professionell 2003 då han med den svenska cyklisten Tommy Prims hjälp fick kontrakt med det italienska stallet Fassa Bortolo. Egentligen var meningen att Larsson skulle bli professionell för Fassa Bortolo i maj 2003 men debuten kom snabbare än väntat när en av lagets cyklister, Denis Zanette, dog efter ett tandläkarbesök; anledningen var ett medfött hjärtfel.
När Fassa Bortolo lade ner sin verksamhet valde Larsson att tävla för det franska stallet Française des Jeux under ett år innan han fortsatte till det svensk-belgiska stallet Unibet.com Cycling Team, som fick ett wild-card till UCI ProTour. Men säsongen 2007 hade knappt startat innan laget fick problem med Amaury Sport Organisation (ASO) som arrangerar de stora franska loppen, till exempel Paris-Nice och Tour de France. Problemen fortsatte också utanför Frankrike och Unibet.com Cycling Team blev inte inbjudna till flera stora tävlingar. Därför bestämde man tidigt under säsongen 2007 för att lägga ner stallet inför säsongen 2008 då det återigen blev dags att leta efter ett nytt cykelstall för Larsson. Den nya arbetsgivaren för säsongen 2008 blev det danska UCI ProTour-stallet Team CSC där han blev lagkamrat med svensken Marcus Ljungqvist.
I slutet av juni 2007 vann Larsson de svenska mästerskapen i tempolopp. Segern kom en dag efter att hans sambo Veronica Andréasson kolliderat med en bil och fått svåra huvudskador. Han vann också de svenska mästerskapen i tempolopp 2006.
Gustav Larsson slutade trea sammanlagt i Eneco Tour of Benelux 2007. På den sista etappen slutade han också trea sex sekunder efter etappens vinnare Sébastien Rosseler.
2008
I Tour of California, med sitt nya stall Team CSC, slutade Larsson femma sammanlagt i tävlingen. Han började tävlingen bra genom att sluta sexa på prologen. Han blev också fyra på tävlingens individuella tempolopp. Larsson slutade sexa i Tirreno-Adriatico i mars. Senare samma månad körde han också in på tredje bästa tid under det avslutande tempoloppet i Critérium International. Med anledning av tredjeplatsen slutade han tvåa i tävlingen efter tysken Jens Voigt. I augusti 2008 tog Larsson en av sina finaste vinster i karriären när han vann tempoloppet på etapp 5 av Danmark Runt med sex sekunder före britten Steven Cummings. Segern var den första i karriären i proffssammanhang.[2]
Efter säsongen kom ryktet att svensken skulle cykla för Caisse d'Epargne under 2009, men efter en lång period utan ytterligare besked blev det i november 2008 klart att svensken skulle fortsätta tävla för Saxo Bank - IT Factory under tre år.[5][6]
2009
Larsson slutade trea på etapp 6, ett tempolopp, på Tour of California bakom Levi Leipheimer och David Zabriskie. Det blev även två femteplatser på prologen och etapp 3 av Tour de Luxembourg under 2009. På Tour de France 2009 slutade svensken fyra på etapp 18 bakom Alberto Contador, Fabian Cancellara och Michail Ignatjev. Larsson kraschade tidigt under etapploppet och hade svårt att hänga med favoriterna efter det, varför han slutade på 50:e plats i tävlingen. I augusti vann han etapp 3 av Tour du Poitou Charentes et de la Vienne. Dagen därpå blev det klart att Larsson hade vunnit hela tävlingen framför Brett Lancaster och David Lelay. Larsson slutade tvåa på etapp 5, ett tempolopp, på Tour of Missouri bakom David Zabriskie. Han blev även tvåa totalt i Tour of Missouri efter just David Zabriskie.
I slutet av maj tog Larsson sin största seger hittills i karriären, då han vann den avslutande tempoetappen i Giro d'Italia.[7]
2011
2011 blev Larsson svensk mästare i tempoloppet på Sollerön.
2012
Larsson bröt 2012 års Tour de France efter att cyklat ett fåtal etapper.[8]
2013
Inför 2013 års säsong bytte Larsson stall till det nybildade laget IAM Cycling. Hans största framgång under året var segern i svenska mästerskapens tempolopp.
2015
I mars försökte Larsson att slå timrekordet, men misslyckades att slå Rohan Dennis världsrekord. I juni blev han svensk mästare i tempo för sjunde gången.
2016
I juni kom han på tredje plats i svenska mästerskapet i tempo.