Walsh is located in eastern Baca County.
U.S. Route 160 passes along the north edge of the town, leading west to
Springfield, the county seat, and east to
Johnson City, Kansas. According to the
United States Census Bureau, the town has a total area of .
Climate According to the
Köppen Climate Classification system, Walsh has a
cold semi-arid climate, abbreviated "BSk" on climate maps. The hottest temperature recorded in Walsh was on July 17, 2022, while the coldest temperature recorded was on January 18, 1984. ==Demographics==