Elliott was in the Fulham Academy and, during that time, attended Coombe Boys' School in New Malden. Elliott made his first-team debut for Fulham as a 15-year-old in the EFL Cup on 25 September 2018 away to Millwall, as an 81st minute substitute for Floyd Ayité in a 3–1 win He had been at school earlier that day and was back at school the next morning. At 15 years and 174 days he became the club's youngest ever first-team player and the youngest to ever feature in the competition. On 4 May 2019, Elliott made his league debut after coming on as a 88th-minute substitute for André-Frank Zambo Anguissa in a 1–0 away defeat to Wolverhampton Wanderers. In doing so, he became the youngest ever Premier League player at 16 years and 30 days, beating the record set by fellow Fulham player Matthew Briggs in 2007.
Liverpool
In July 2019, he was linked with a transfer to Liverpool, and also received interest from Real Madrid and Paris Saint-Germain. On 28 July, he signed for Liverpool for an undisclosed fee. On the same day, he made his first appearance for the club, as a substitute, in a 3–0 friendly defeat against Napoli. He made his competitive debut for the club on 25 September 2019 in an EFL Cup match against Milton Keynes Dons. Upon doing so, at the age of 16 years and 174 days, he became the youngest-ever player to start a match for the club, and second-youngest to feature in a competitive fixture behind Jerome Sinclair. The following month, during the club's 5–5 penalty shoot-out win over Arsenal in the next round of the competition, Elliott became the youngest player to start a match at Liverpool's home ground, Anfield, at the age of 16 years and 209 days. On 2 January 2020 he made his Premier League debut for Liverpool, replacing Mohamed Salah one minute before the final whistle in a 2–0 home win against Sheffield United. Elliott signed his first professional contract with Liverpool on 6 July 2020.
International career
Elliott helped the England under-17 team to the 2019 Syrenka Cup on 10 September 2019 by scoring his first goal for the age group from the spot in a 2–2 draw with hosts Poland before Kevin Betsy's Young Lions won 3–1 after a penalty shoot-out.