c. 1300, "store, treasure," from Old French garison "defense, protection, safety, security; crops, food; salvation; healing, recovery, cure" (Modern French guérison "cure, recovery, healing") from garir "take care of, protect, defend," from a Germanic source, from Proto-Germanic *war- "to protect, guard," from PIE root *wer- (4) "to cover."
Meaning "fortified stronghold" is from early 15c.; that of "body of troops in a fortress" is from mid-15c., a sense taken over from Middle English garnison "body of armed men stationed in a fort or town to guard it" (late 14c.), from Old French garnison "provision, munitions," from garnir "to furnish, provide" (see garnish (v.)).