縣因地形而得名。據《水經注》:“漳水又東北逕壺關縣故城西,又屈逕其城北。故黎國也,有黎亭。縣有壺口關,故曰壺關矣。”漢置壺關縣。晉末廢縣。北魏太和十三年(489年)于羊腸坂羊頭山之扼置壺關縣。
唐武德四年(621)析上黨縣地置壺關縣,故治在今縣城東15千米西七里村。貞觀十七年(643)徙今治。宋改屬隆德府。金、元復屬潞州。明、清屬潞安府。1949年屬長治專區,后屬晉東南專區和地區。1985年屬長治市。
1997年,壺關縣轄5鎮15鄉:城關鎮、晉莊鎮、店上鎮、百尺鎮、樹掌鎮、西川底鄉、辛村鄉、集店鄉、東崇賢鄉、黃山鄉、黃家川鄉、固村鄉、五龍山鄉、東柏林鄉、常行鄉、東井嶺鄉、石坡鄉、橋上鄉、石河沐鄉、鵝屋鄉。縣政府駐城關鎮。(389個行政村)
2000年第五次人口普查,壺關縣總人口282564,其中:城關鎮45474人,晉莊鎮15396人,店上鎮20263人,百尺鎮21378人,樹掌鎮13608人,西川底鄉10384人,辛村鄉15436人,集店鄉17858人,東崇賢鄉12223人,黃山鄉16667人,黃家川鄉10397人,固村鄉9534人,五龍山鄉10213人,東柏林鄉11930人,常行鄉9419人,東井嶺鄉8786人,石坡鄉10998人,橋上鄉7936人,石河沐鄉5053人,鵝屋鄉9611人。
2001年區劃調整后,全縣轄5個鎮、7個鄉:龍泉鎮、百尺鎮、店上鎮、晉莊鎮、樹掌鎮、集店鄉、黃山鄉、東井嶺鄉、石坡鄉、五龍山鄉、鵝屋鄉、橋上鄉。