Hesketh was born in Stockport, Greater Manchester, but his family moved to Whiteley, near Fareham, Hampshire when he was six months old.[3] He studied at Whiteley Primary School before moving onto Swanmore College.[4]
Club career
Southampton
Hesketh started his career at Southampton's academy, first training with the club as an under-7 before signing with the club as an under-nine, the youngest at which he could sign, having previously been scouted at a local tournament playing for Crofton Saints Football Club.[4][5] After progressing through the club's academy, he completed a two-year scholarship with the club and after finishing as the Under-18 team's top scorer was awarded the 2013–14 Scholar of the Season accolade at the Southampton club awards ceremony.[6] He signed a three-year professional contract the same day, having spent the previous six weeks training and playing with the club's under-21 team.[7][5]
He was promoted into the first team by coach Ronald Koeman due to injury problems among the squad.[8] He made his debut for the club on 8 December 2014 in a Premier League match against Manchester United, being brought in as a substitute for Dušan Tadić in the 70th minute of the 2–1 home defeat.[9] Five days later Hesketh made his first Premier League start as Southampton lost 1–0 away to Burnley.[10] Hesketh made 22 appearances for Martin Hunter's Under-21s in 2014–15, scoring two goals and lifting the 2015 U21 Premier League Cup.[11] He failed to make a first team appearance during the 2015–16 season as he was not part of Koeman's first-team plans, but returned to the first-team following the arrival of Claude Puel as manager in summer 2016.[5] After an appearance for the Southampton under-23 team in the EFL Trophy in August 2016, he made his first first-team appearance of the season and scored his first senior goal on 22 September 2016, in a 2–0 win over Crystal Palace in the EFL Cup.[12][13][14] Hesketh played again in a 0–0 UEFA Europa League draw away to Hapoel Beer Sheva a week later,[12] but picked up an injury in October and failed to make any more appearances that season.[5][12][15] In December 2016, he signed a new four-and-a-half-year contract with the club.[15] Puel was sacked as manager in summer 2017, with Southampton being managed by Mauricio Pellegrino and later Mark Hughes, and Hesketh failed to make a first-team appearance during the 2017–18 season.[5][16]
Loan spells
On 30 August 2018, Hesketh signed for Burton Albion on a loan deal until 2 January 2019.[17][18] He scored his first league goal in a 2–2 draw at Portsmouth on 23 October 2018.[5][19] He appeared 23 times for Burton, scoring three goals.[20] On 31 January 2019, Hesketh joined League Two club Milton Keynes Dons on loan for the remainder of the 2018–19 season.[21] He made his debut for the club as a substitute in a 3–1 defeat to Exeter City on 2 February 2019, before scoring his first goal for the club on 9 February in a 3–2 defeat to Swindon Town.[20][22] He amassed 16 appearances in total across his loan spell, and scored twice.[20]
On 2 September 2019, he joined League One club Lincoln City on loan for the remainder of the 2019–20 season.[23] He appeared in 24 matches and scored one goal across the 2019–20 season.[24]
He joined League Two club Crawley Town on a season-long loan on 16 October 2020.[25] He made his debut for the club on 20 October 2020 as a substitute in a 2–1 defeat to Exeter City in League Two.[26] On 31 October 2020, Hesketh was given a red card in Crawley's 2–1 win over Cambridge United.[27]
After 17 years at Southampton, Hesketh announced that he would leave the club at the end of the 2020–21 season after the expiry of his contract.[28]
Eastleigh
Following his release by Southampton in June 2021,[29] Hesketh signed for Eastleigh on 2 August.[30] He was released at the end of the 2022–23 season.[31]