He made his senior debut in the EFL Cup in August 2017 for Birmingham City, having previously played in the National League North for Alfreton Town.
[20] Harding made his senior debut three days later, replacing Emilio Nsue after 58 minutes of the EFL Cup first round match at home to Crawley Town of League Two.
[21] He also appeared in the next round, replacing the injured Nsue after 23 minutes of the 2–1 defeat to AFC Bournemouth and producing a performance that pleased manager Harry Redknapp.
[25] New manager Garry Monk gave Harding his first Football League appearance, a start at right back in Birmingham's 3–0 home victory over Hull City on 17 March 2018 that was their first win in six weeks.
[26] He was booked early in the match for a forceful tackle on the highly rated Harry Wilson, then, according to the Birmingham Mail, "shut him down in the second half and made some excellent defensive contributions to help out team-mates.
"[27] Monk said he selected Harding ahead of more experienced players such as Carl Jenkinson or Marc Roberts because his pace and tenacity would better counteract the threat from Hull's wingers.
Defensively, he allowed Ryan Sessegnon, the Championship Player of the Year, little scope to influence the game,[29][30] and he made a run and cross from which Lukas Jutkiewicz scored the opening goal.
[24] In the 2019–20 season, Birmingham's full backs, Maxime Colin and Pedersen, missed only two league matches apiece, and loanee Jake Clarke-Salter became backup of choice in central defence.