Lennon was op 23 augustus 2003 de jongste debutant in de Premier League ooit met een leeftijd van 16 jaar en 129 dagen.[1] Het in financiële problemen geraakte Leeds United moest hem in 2005 noodgedwongen van de hand doen en kreeg £ 1.000.000,- voor hem van Tottenham Hotspur. In Londen groeide Lennon uit tot een vaste waarde op de rechterkant. Zijn contract werd vervolgens in 2007 verlengd tot 2012 en in 2009 nog eens tot de zomer van 2014. In 2007 eindigde hij achter Cristiano Ronaldo en Cesc Fàbregas in de ranglijst van 'beste jonge speler van Engeland'.
Lennon begon in 2014 aan zijn tiende aaneen volgende seizoen bij Tottenham, maar maakte dat daar niet af. De club verhuurde hem in februari 2015 voor een half jaar aan Everton, dat op dat moment zes plekken lager stond in de Premier League. Hij speelde in het restant van de competitie veertien wedstrijden voor de club en eindigde daarmee als elfde. Hij maakte zijn debuut tegen stadsgenoot Liverpool. Everton nam Lennon in september 2015 voor 4,5 miljoen pond definitief over van Tottenham. Hij tekende een contract tot medio 2018 bij zijn nieuwe club.[2] Toen Ronald Koeman het roer overnam kon Lennon op minder speeltijd rekenen en daarop transfereerde hij naar Burnley. Hij tekende een contract voor twee jaar, dat hij uitdiende. In september 2020 tekende hij transfervrij voor zijn eerste buitenlandse avontuur, bij het TurkseKayserispor. Hij speelde een seizoen lang bij de Turkse club, waarna hij in augustus 2021 terugkeerde bij Burnley.
Lennon debuteerde op 3 juni 2006 tegen Jamaica in het Engelse nationale elftal.[4] Toenmalig bondscoach Sven-Göran Eriksson nam hem datzelfde jaar mee naar het wereldkampioenschap voetbal 2006. Daar speelde hij als invaller in de groepswedstrijd tegen Trinidad & Tobago (2–0 winst) en in de achtste finale tegen Ecuador (1-0 winst). Vier jaar later nam bondscoach Fabio Capello Lennon mee naar het wereldkampioenschap voetbal 2010. Hierop speelde hij als basisspeler de eerste twee groepswedstrijden tegen de Verenigde Staten (1–1) en tegen Algerije (0–0).