Goshen is a town in Pike County, Alabama, United States. At the 2010 census the population was 266, down from 300 in 2000. It incorporated in 1907.