Nelson joined Brentford from Hucknall in February 2004 for a fee of £10,000. He completed his first full season with Brentford in 2004–05, maintaining 21 clean sheets and helping the team into the promotion play-offs. He signed a new two-year contract in August 2005.
Nelson was appointed club captain for the 2006–07 season and scored the decisive penalty in a League Cup first round shootout win over Swindon Town. However, a ligament injury picked up in October meant that he was unable to play again until 2007. He returned and played 6 games towards the end of the season. He was released by Brentford on 16 May 2007.
He signed for Leyton Orient in summer 2007, but left less than a year later by mutual consent due to relocating issues. On 1 August 2008 Norwich City confirmed the signing of Nelson after he impressed Glenn Roeder while on trial at Carrow Road. He was released at the end of his one-year contract the following summer having made no first team appearances.
On 27 July 2009, he signed a one-year contract with Scottish Premier League team Aberdeen. In May 2010 Nelson turned down an offer of a new contract.
On 23 June 2010, he signed a two-year contract with League One team Notts County. Upon his signing for Notts County, he became the first choice goalkeeper; a position he retained in the 2011–12 season. However, on 9 May 2012, he was released by Notts County along with 12 of his teammates.
On 20 July 2012, Nelson signed for Football League Two side Gillingham on a free transfer, on a two-year deal. He made his debut for Gillingham on 18 August 2012 against Bradford City. In his first season with the club Nelson won the League Two title and was runner up at the Player of the Season awards.
He received the club’s player of the year award for the 2013–14 season. In May 2014, Nelson signed a new two-year contract, and in June 2016 signed a further two-year contract with the club. He was named Vice-Captain for the 2016–17 season. He made his 200th start for the team in December 2016. On 5 December 2017 Nelson made his 223rd competitive appearance for Gillingham which took him to 3rd on all time appearances for a goalkeeper for the club. Only Ron Hillyard (1st) and John Simpson (2nd) have played more times in goal for the club. The following month, however, Nelson left Gillingham having agreed the termination of his contract.
On 20 February 2018, Nelson signed for League Two side Yeovil Town until the end of the season. He signed a new contract with Yeovil at the end of the 2017–18 season.