Charlton Athletic Grant was top scorer for Charlton Athletic U18s during the 2012–13 and 2013–14 seasons while still a schoolboy. Less than a week after his 17th birthday, on 23 September 2014, Grant signed a three-year contract with Charlton. He made his professional debut shortly after on 30 September 2014, as an 89th-minute substitute in a 1–0 victory against
Norwich City. He later made his first start on 18 October 2014 in a 1–0 loss against
AFC Bournemouth. He scored his first competitive goal for the Addicks first team in a 4–1
Football League Cup win over
Dagenham & Redbridge. On 26 September, he scored his first league goal for Charlton in a 2–1 loss to
Cardiff City.
Loan to Cambridge United On 16 January 2016, Grant signed for
League Two club
Cambridge United on a one-month loan deal.
Loan to Crawley Town On 30 January 2018, Grant joined
Crawley Town on loan until the end of the 2017–18 season. He made an immediate impact at the West Sussex club, scoring 8 goals in his first 9 appearances for them. He made his debut for the Yorkshire club three days later in a 5–0 away loss to
Chelsea where he came on as a substitute. On 9 February 2019, Grant scored his first Huddersfield goal on his second Town appearance in a 2–1 home loss against
Arsenal.
West Bromwich Albion On 15 October 2020,
West Bromwich Albion announced the signing of Grant on a six-year contract for an undisclosed fee, reported to be £15 million. On 26 October 2020, Grant scored his first league goal for Albion in a 1–1 away draw against
Brighton & Hove Albion. In an
EFL Cup tie, against
Sheffield United, Grant was substituted on, scored the winning goal, got injured and was resubstituted 15 minutes later. ==International career==