Shoals is an unincorporated community in the Shoals Township of Surry County, North Carolina, United States.
The community is located on the Yadkin River near Grassy Creek and is named for the nearby Bean Shoals rapids in the Yadkin River.[1] The community has an elevation of 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 working farm that is operated by turn-of-the-century technology to showcase what life in northwestern North Carolina was like at the time.[2] The farm is operated by the state of North Carolina Department of Cultural Resources.