Marshall is a town in Madison County, North Carolina, United States. The population was 872 at the 2010 census. It is the county seat of Madison County.Marshall is part of the Asheville Metropolitan Statistical Area.