Lambert werd in 1992 opgenomen in de jeugdopleiding van Liverpool, dat in 1997 afscheid van hem nam. Hij debuteerde in 1999 alsnog in het betaald voetbal, maar dan in het shirt van Blackpool.
Na omzwervingen bij Macclesfield Town, Stockport County, Rochdale en Bristol Rovers belandde Lambert in 2009 bij Southampton, op dat moment actief in de Football League One. Hij scoorde op 11 augustus 2009 bij zijn debuut meteen, tegen Northampton Town. Lambert beëindigde het seizoen 2010-2011 met 21 doelpunten, waarmee hij tweede eindigde in het topscorersklassement. Southampton promoveerde naar de Championship en beloonde Lambert met een contractverlenging tot 2014. Op 13 maart2012 werd Lambert uitgeroepen tot Championship Speler van het Jaar. Hij scoorde dat seizoen vier hattricks en werd samen met ploegmaat Adam Lallana genomineerd voor het 2011-2012 PFA Championship Team of the Year. Hij beëindigde het seizoen met 27 competitiedoelpunten en 31 doelpunten in alle competities samen en promoveerde opnieuw met Southampton. Lambert debuteerde op 19 augustus 2012 vervolgens op 30-jarige leeftijd in de Premier League. Hij viel tegen Manchester City na 55 minuten in als vervanger van Jay Rodriguez. Vier minuten later scoorde hij z'n eerste doelpunt in de Premier League. Met dat doelpunt werd Lambert een van de weinige spelers die in elk van de vier hoogste Engelse divisies tot scoren kwam.
Lambert tekende in juni 2014 een tweejarig contract bij Liverpool, dat hem voor €5.000.000,- plus eventuele bonussen overnam van Southampton. Daarmee keerde hij terug bij de club waarvoor hij tot zijn vijftiende in de jeugd speelde.[1] Lambert debuteerde in het daaropvolgende seizoen in zowel de UEFA Champions League als de UEFA Europa League en maakte ook zijn eerste doelpunt in de Champions League. In de competitie kwam hij in 25 wedstrijden twee keer tot scoren, zijn laagste seizoenproductie in elf jaar. Lambert liet de club in juli 2015 na één seizoen weer achter zich en tekende in juni 2015 een contract tot medio 2017 bij West Bromwich Albion, de nummer dertien van de Premier League in het voorgaande seizoen.[2] Dat betaalde circa €4.200.000,- voor hem.[3] Een jaar later ging hij naar Cardiff City. In oktober 2017 kondigde Lambert aan dat hij gestopt was met voetballen.