Career
He has played in Australia with Shepparton United, South Melbourne Football Club as well as in the English Football League with Chester City F.C., and various other English non-league sides. Kelly is a product of Chester"s youth system and made his Football League debut as a late substitute against Shrewsbury Town F.C. on 15 April 2007. In September 2007, Kelly joined Conference North side Vauxhall Motors F.C. on loan to gain first-team experience.
He returned to Chester during the season and replaced Paul Butler at half-time in their 3–3 draw with Accrington Stanley F.C. on 5 January 2008, going on to play regularly in the closing stages of the season.
He left the club in early 2010, as Chester were expelled from the Conference. The performance impressed Burton manager Paul Peschisolido enough to offer him a contract until the end of the season.
Burton later announced that the deal could not be completed on the planned day. Kelly joined Welsh Premier League side Bala Town in July 2010, playing with them until he relocated to Australia and joined Shepparton United South Carolina. In October 2012 he returned to England signing for Halifax Town but returned to South Melbourne for the 2013 new season.
Kelly missed the entire 2014 season due to a broken bone in his foot and left the club at the end of that year.
Kelly joined Portuguese Melbourne South Carolina ahead of the 2015 season where he was appointed captain.