He started his career at Manchester United where he played one game in the League Cup against Crewe Alexandra, before moving down the ladder to join Blackpool. He later moved into non-league football, joining Northwich Victoria in 2008. Later that year he had a short spell with Conference North side Hyde United before leaving after only making five appearances, joining Leigh Genesis where he stayed until March 2009 before being released and subsequently joining FC United of Manchester where he spent a season before moving back to Tameside to join Stalybridge Celtic at the start of the 2010–11 season, finishing his first year at Stalybridge as the club's top goalscorer. In the summer of 2012, Marsh signed for Forest Green Rovers.