He began his career as a trainee with the Blackburn Rovers youth system, turning professional in February 1999. He played nine times for City before returning to Blackburn that October. His Blackburn debut came on 31 October 2000, Dunning playing all of the 2–0 League Cup defeat away to West Ham United.
He also played one FA Cup match and one league match for Blackburn before the end of the 2000-2001 season.
He joined Rochdale on loan in November 2001 and moved to Blackpool on loan in March 2002, making just one first team appearance for Blackburn, in the League Cup that season. In January 2003, he moved to Macclesfield Town on loan until the end of the season, when he was released by Blackburn.
In July 2003 he signed for York City and was a regular in the York side relegated to the Conference National at the end of the season. He remained with York until June 2006, when he left after rejecting a new contract with the club
He made his debut in a 1–0 victory against Moor Green and scored his first goal as Harrogate defeated Barrow 3–2.
Dunning finished his first season, 2006-2007, by starting in all of Harrogate"s 48 games, as well as scoring five goals. He signed a new contract with the club in June 2008. He joined fellow Conference North team Gainsborough Trinity in May 2009.