Gunnison is a city in the Sevier Valley in southwestern Sanpete County, Utah, United States. The population was 3,509 at the 2020 census. The city was named in honor of John W. Gunnison, a United States Army officer who surveyed for the transcontinental railroad in 1853.