Winhall is a town in Bennington County, Vermont, United States. The population was 769 at the 2010 census. In the southeastern corner of the town is the unincorporated village of Bondville.
Winhall is located in northeastern Bennington County and is bordered by Windham County to the east and south. The town is located in the Green Mountains with the crest of the range running from north to south through the western part of the town.
According to the United States Census Bureau, the town has a total area of 44.0 square miles (114.0 km2), of which 43.6 square miles (112.8 km2) are land and 0.46 square miles (1.2 km2), or 1.08%, is water. The majority of the town drains eastward via the Winhall River to the West River, a tributary of the Connecticut River. The western portion of the town drains to the Batten Kill, a tributary of the Hudson River.
As of the census of 2000, there were 702 people, 310 households, and 204 families residing in the town. The population density was 16.1 people per square mile (6.2/km2).