Nelson was born in Stockton-on-Tees, County Durham, and attended King James I Academy in Bishop Auckland. He joined Sunderland's academyin preference to those of Newcastle United and Middlesbroughat the age of seven and took up a two-year scholarship with the club in July 2014. In 2016, he signed a two-year professional contract which was later extended for a further year. Nelson made two substitute appearances for Sunderland's U23 team in the 2016–17 EFL Trophy, a competition involving senior teams from third- and fourth-tier clubs together with under-age teams from the higher divisions. He moved on loan to Hartlepool United on 31 January 2017, and made his club and Football League debut in the starting eleven at home to Yeovil Town four days later. He made the cross from which Hartlepool opened the scoring, and then conceded the penalty from which Yeovil secured a 1–1 draw. He kept his starting place for the next two matches, without scoring, but in the next he injured his medial knee ligaments shortly after coming on as a substitute. He returned to his parent club for treatment and rehabilitation, and played no more football that season. In October 2017, he joined Harrogate Town of the National League North on loan for a month. According to Harrogate manager Simon Weaver, during his debut Nelson "showed a good aggressive edge to his play, he was brave and his hold-up play was good." During his loan spell he played in four National League North matches and scored once, with a close-range header in a 3–1 defeat away to Spennymoor Town. At the start of January 2018, Nelson moved on loan to Scottish Championship club Falkirk until the end of the season. He was a fixture in the starting eleven, scoring four goals and making three assists in twelve Championship appearances, until his loan spell was cut short by injury. A fractured cheekbone forced him to miss the last month of the season. After surgery in September on a foot injured in pre-season, Nelson eventually resumed training in November 2018. In order to regain match fitness, he signed on a month's loan for another National League North club, Darlington, in December 2018. He scored twice on debut away to Chorley, albeit in a losing cause, and finished his loan spell with six goals from five league appearances. Darlington's manager Tommy Wright praised Nelson, saying that it " get much better than what he did with us – six goals and two assists". Nelson signed a two-and-a-half-year contract with Scottish Premiership club Dundee in January 2019; the fee was undisclosed. Nelson scored on his league debut, scoring a game-winning goal against Heart of Midlothian at Tynecastle on 23 January. Dundee entered a long losing streak and were relegated to the Championship on 4 May 2019. The 2019–20 season was prematurely ended due to the COVID-19 pandemic. In July 2020, Nelson left Dundee by way of mutual agreement.