Spencer is a town in Rowan County, North Carolina, United States, incorporated in 1905. As of the 2010 census, the town population was 3,267.