Nelson is the son of famous Sturt player Philip 'Sandy' Nelson, and accordingly played his first senior football with the Sturt Football Club in 1994. He was to join the inaugural Port Adelaide Power team in 1997 however, Port Adelaide traded him and Andrew Balkwill to the Carlton Football Club for Brent Heaver in the 1996/97 offseason.
Nelson made his debut for Carlton in Sturt colours—the game when Carlton wore pale blue guernseys instead of their traditional navy blue, due to a promotional deal with M&Ms. He was strongly built and played mostly as a tagger and at half back. Injuries interrupted his early career but he became a regular in the side in 1999 and played in their losing Grand Final that year against the Kangaroos. After 40 games for Carlton, Nelson was traded to Adelaide for David Gallagher at the conclusion of the 2001 season. Nelson managed 12 games for Adelaide in 2002 before being delisted.
Following his AFL career, Nelson returned to Sturt. He had been a member of Sturt's 2002 premiership team (as an AFL-listed player allocated to Sturt when on reserve), and in his first full season back at the club, 2003, he was Club Champion. He was made captain of the club in 2004, and held that position outright until 2006; from 2007, he was co-captain with Jade Sheedy. In 2007, at the age of 30, Nelson was equal second in the 2007 Magarey Medal. Nelson retired at the end of 2010, after playing more than 200 games for the Double Blues in his SANFL career. He and his father Phillip are the only father/son combination to have each played 200 games at the same SANFL club.
In 2011, Nelson played for the Bute Football Club in the Yorke Peninsula Football League. In 2012, he became the coach of the Scotch College Adelaide first XVIII, Nelson is himself a Scotch College old boy.
Sturt captain: 2004–2010
Sturt club champion: 2003
Sturt premiership player: 2002
Magarey Medal 2nd place (tied): 2007
Grand Final: 1999
1999 - The Past Players' Association Encouragement Award