According to the United States Census Bureau, the town has a total area of , of which are land and , or 0.59%, is water. Bennington is drained by the Walloomsac River and its tributaries, flowing to the Hoosic and then the Hudson River. The town is located along the western edge of the Green Mountains, including Bald Mountain, which occupies the northeastern edge of town. (Its summit is just over the town line in Woodford.) In the southwest part of town is Mount Anthony, part of the Taconic Range.