Barnes was active between 1996 and 2019, spending the his first thirteen seasons in professional football in a career that began at Rotherham United, although he first made a name for himself as Blackpool. He notched up 141 league appearances during his spell with the Tangerines which earned him a move to Sheffield United, spending time on loan with Torquay United and Queens Park Rangers before joining Grimsby Town. He departed The Mariners in 2009 and moved into Non-League football, playing for Gainsborough Trinity, Alfreton Town, Harrogate Town, Buxton, Matlock Town and Handsworth Parramore. He retired from competitive football at the end of the 2018−19 season.