Shoals is a small unincorporated community in the Shoals Township of Surry County, North Carolina.
The community is located on the Yadkin River near Grassy Creek and is named for the nearby Bean Shoals rapids found in the Yadkin (Powell 1968, p. 452). The community has an elevation of 980 feet above sea level. Area landmarks include Shoals Baptist Church, Shoals United Methodist Church and Shoals Elementary School.
Sections of the Pilot Mountain State Park that reach the rapids of the Yadkin River are located in the Shoals community. Also located here is Horne Creek Living Historical Farm, an actual farm that is operated by turn-of-the-century technology to showcase what life in northwestern North Carolina was like at the time. The farm is operated by the state of North Carolina Department of Cultural Resources.
Powell, William S. (1968), The North Carolina Gazetteer: A Dictionary of Tar Heel Places, Chapel Hill: University of North Carolina Press, ISBN
Coordinates: 36°16′26″N 80°30′40″W / 36.274°N 80.511°W