Mount Holly Springs is located in south-central Cumberland County at , at the northern foot of the South Mountain range. Mountain Creek runs through the center of the borough, exiting the mountains via a water gap between Mount Holly to the west and Keller Hill to the east. Mountain Creek is a tributary of Yellow Breeches Creek, which flows east to the Susquehanna River. The borough limits extend south through the water gap to the Upper Mill area. According to the United States Census Bureau, the borough has a total area of, of which is land and, or 6.45%, is water. The borough is surrounded by South Middleton Township but is a separate municipality.
As of the census of 2000, there were 1,925 people, 836 households, and 541 families residing in the borough. The population density was 1,276.8 people per square mile. There were 926 housing units at an average density of 614.2 per square mile. The racial makeup of the borough was 97.82% White, 0.88% African American, 0.05% Native American, 0.52% Asian, 0.31% from other races, and 0.42% from two or more races. Hispanic or Latino of any race were 1.19% of the population. There were 836 households, out of which 31.3% had children under the age of 18 living with them, 50.1% were married couplesliving together, 10.4% had a female householder with no husband present, and 35.2% were non-families. 29.4% of all households were made up of individuals, and 10.4% had someone living alone who was 65 years of age or older. The average household size was 2.30 and the average family size was 2.86. In the borough the population was spread out, with 24.5% under the age of 18, 6.5% from 18 to 24, 34.1% from 25 to 44, 22.6% from 45 to 64, and 12.3% who were 65 years of age or older. The median age was 36 years. For every 100 females, there were 100.3 males. For every 100 females age 18 and over, there were 98.6 males. The median income for a household in the borough was $40,625, and the median income for a family was $48,333. Males had a median income of $33,731 versus $25,262 for females. The per capita income for the borough was $19,229. About 5.4% of families and 6.0% of the population were below the poverty line, including 12.9% of those under age 18 and 6.0% of those age 65 or over.