Edwards joined the academy system at Tottenham Hotspur at the age of eight and progressed through the ranks. On 2 August 2016, he signed his first professional contract with Tottenham after a protracted period of negotiations amidst interest from other clubs. Edwards joined the Tottenham first team in the summer of 2016 for their pre-season tour and produced some impressive performances in pre-season matches. He was given a squad number of 48 ahead of the 2016–17 season. On 20 September 2016, Mauricio Pochettino likened Edwards to a young Lionel Messi due to his low centre of gravity and ability to beat a man. The next day Edwards made his competitive Tottenham debut in the EFL Cup against Gillingham, coming on as a substitute for the final 15 minutes where he forced a save from Gills keeper Stuart Nelson. However, he injured his ankle in October 2016 which required surgery, and was sidelined for a long period to recover from the injury. On 29 July 2017, Edwards signed a new contract at Tottenham, keeping him at the club until 2020. In the UEFA Youth League, Edwards started well as captain when he scored twice in a 4–0 win over Borussia Dortmund on 13 September 2017. He went on to make five appearances and scoring two more goals throughout the group stage.
Loan spells
In January 2018, Edwards moved on loan to Championship side Norwich City for the remainder of the 2017–18 season. He made his Norwich City debut on 30 March 2018, coming on as a late substitute for Mario Vrančić, in a 2–0 loss against Fulham. This turned out to be Edwards' only appearance for the club as he returned to Tottenham on 10 April for "personal reasons". In August 2018, he joined Dutch side Excelsior on a season-long loan. He scored two goals in 25 appearances for club with four assists, and although he scored a goal in the relegation play-offs, Excelsior was relegated. Edwards led the Eredivisie table at the end of the season in dribbles per game, with 3.3, ahead of PSV's Steven Bergwijn.
Edwards is eligible to play for England and Cyprus through his mother. In November 2013, Edwards made his England U16 debut, where he played 80 minutes, in a 1–0 loss against Northern Ireland U16. He went on to make six appearances and scoring once for the U16 side. At the England under-17 side, Edwards scored three times throughout 2014, including a brace on his debut in a 5–1 win over Iceland U17. Edwards was selected to represent England under-17 at the 2015 UEFA European Under-17 Championship. During the tournament, he went on to make five appearance, as he scored two goals against Italy U17 and Republic of Ireland U17. He was subsequently included in the team of the tournament. Edwards also appeared at the 2015 FIFA U-17 World Cup. In September 2015, Edwards was called up to the England U18 squad, making his debut for the side, in a 2–0 win over Netherlands U18, in which he set up one of the goals. He also went on to score a brace on two occasions against Austria U18 and Republic of Ireland U18 in March 2016. Edwards went on to make five appearances and scoring four times at England U18. In October 2016, Edwards was called up to the England under-19 squad, making his debut in a 3–1 win over Croatia U19 before scoring in a follow-up match with a 2–1 win over Bulgaria U19. Edwards was included in the England under-19 squad for the 2017 UEFA European Under-19 Championship. In the semi-final, Edwards came off the bench to provide the assist for Lukas Nmecha to score the only goal of the game against the Czech Republic. Edwards was also a second-half substitute during the victory against Portugal in the final. After the end of the tournament, Edwards was called up to the England U20 squad in August 2017 and scored on his U20 debut, in a 3–0 win over Netherlands U20.
Personal life
Edwards is of Greek Cypriot descent through his mother.
Career statistics
Honours
Individual
UEFA European U-17 Championship Team of the Tournament: 2015