Geographically, Shoals Township occupies  in southern Surry County, with its southern border running along the Yadkin River.
Geographically, Shoals Township is situated  within southern Surry County, with its southern border tracing along the Yadkin River.