Kelly joined Bristol City at the age of 12 after he was spotted playing for local side Bristol Central. In 2015–16, he was included in City's pre-season squad that visited Portugal. On 8 August 2017, Kelly made his debut for Bristol City in a 5–0 victory against Plymouth Argyle in the EFL Cup.[5] Kelly made his first league start on 23 December 2017 against Queens Park Rangers, and scored his first league goal against Reading just three days later.[6][7] At the end of the 2017–18 season, he was named the Senior Reds' Young Player of the Year.[8]
On 19 March 2018, he was named in the EFL "Team of the Week" for gameweek 38. He was praised for his 'maturity in defence' as well as providing the assist for the only goal of the game against Ipswich Town.[9]
AFC Bournemouth
On 18 May 2019, Kelly signed for Premier League club AFC Bournemouth for an undisclosed fee, reported as £13 million, after eight years at Bristol City.[10] He made his debut for Bournemouth in an EFL Cup tie against Burton Albion on 25 September 2019.[11] His league debut followed in June 2020 when he played as a substitute against Wolverhampton Wanderers.[12] He scored his first goal for the club on 17 April 2021 in a 3–1 win against Norwich City.[13]
For the 2021–22 season, Kelly began to captain Bournemouth in the absence of club captain Steve Cook, beginning with the opening fixture of the campaign; a 2–2 home draw against West Bromwich Albion.[14] Kelly started the first 14 games of the season, playing a pivotal role in the Cherries' unbeaten start. This 14-game unbeaten run equalled a club record dating back to 1961.[15] Kelly scored his first goal of the season in a 3–0 home win against Huddersfield Town.[16] Kelly was later confirmed as the Cherries' club captain after the departure of previous captain Steve Cook.[17]
On 5 June 2024, the club announced he would be leaving in the summer when his contract expired.[18]
Newcastle United
On 13 June 2024, Newcastle United announced the signing of Kelly on a free transfer, joining the club from 1 July under his former coach Eddie Howe.[19]
International career
In August 2017, Kelly made his debut for England U20, coming on as a substitute in a 3–0 win over the Netherlands.[20] On 12 November 2018, he received his first call-up to the under-21 side[21] and made his debut as a third minute substitute during a 2–1 win over Italy in Ferrara on 15 November 2018.[22]