Goshen is a town in Sullivan County, New Hampshire, United States. The population was 796 at the 2020 census.