Bennington is a town in Hillsborough County, New Hampshire, United States. The population was 1,501 at the 2020 census. The main village of the town, where 338 people resided at the 2020 census, is defined as the Bennington census-designated place and is located on the Contoocook River at the intersection of New Hampshire routes 31 and 47.