Garrison is a city in McLean County, North Dakota, United States. The population was 1,453 at the 2010 census.
Garrison was laid out in 1905 when the railroad was extended to that point. The town took its name from Garrison Creek. A post office has been in operation at Garrison since 1903.
Garrison is located at 47°39′08″N 101°24′57″W (47.6522225, -101.4157165).
According to the United States Census Bureau, the city has a total area of 1.38 square miles (3.57 km2), all land.
As of the census of 2010, there were 1,453 people, 654 households, and 378 families living in the city. The population density was 1,052.9 inhabitants per square mile (406.5/km2). There were 737 housing units at an average density of 534.1 per square mile (206.2/km2). The racial makeup of the city was 93.3% White, 0.1% African American, 4.5% Native American, 0.1% Asian, 0.1% from other races, and 2.0% from two or more races. Hispanic or Latino of any race were 2.1% of the population.
There were 654 households, of which 21.6% had children under the age of 18 living with them, 49.2% were married couples living together, 5.2% had a female householder with no husband present, 3.4% had a male householder with no wife present, and 42.2% were non-families. 37.8% of all households were made up of individuals, and 22.6% had someone living alone who was 65 years of age or older.