Horse Shoe is in western Henderson County, bordered to the north by the town of Mills River and to the west by unincorporated Etowah. The French Broad River runs through the center of the Horse Shoe community. U.S. Route 64 passes through Horse Shoe south of the river, and leads east 6 miles (10 km) to Hendersonville, the county seat, and southwest through Etowah 14 miles (23 km) to Brevard. Asheville is 23 miles (37 km) to the north via Mills River.
According to the U.S. Census Bureau, the Horse Shoe CDP has a total area of 7.6 square miles (19.6 km2), of which 7.5 square miles (19.3 km2) are land and 0.1 square miles (0.3 km2), or 1.47%, are water.[6]