Born in St Helens, Merseyside, Marsh started his football career at Manchester United. In October 2006, Marsh made his Manchester United debut when he played in Manchester United's 2–1 away win against Crewe Alexandra in the League Cup. He started up front with Alan Smith in the match and was given the squad number 41. He was substituted for Michael Barnes at half-time. Marsh was released from the club in June 2007. In July, he joined Scottish Premier League club Inverness Caledonian Thistle on trial.