商朝為紂王叔父箕子采邑,治所今講堂鄉講堂村。
周朝屬并州。
春秋為晉國領地。
戰國初屬涅,韓、趙、魏三家分晉后,先屬韓,后歸趙。
秦轄于上黨郡。
西漢屬涅氏縣。
東漢改稱涅縣。
三國時屬魏,歸并州直轄。
西晉泰始年間,涅縣分置武鄉縣,治所今社城鎮,屬樂平郡。
東晉大興二年(319),石勒稱帝建后趙國,屬武鄉郡武鄉縣,郡治今社城鎮。
北朝北魏延和二年(433),武鄉郡改稱鄉郡,武鄉縣改稱鄉縣,治所未變。
北朝北魏太和十五年(491),廢鄉郡和鄉縣,治所改置南亭川(今長治市武鄉縣段村)。
隋開皇十六年(596),始置榆社縣,治所為今縣城,屬韓州。
隋大業二年(606)撤榆社縣,歸鄉縣。
隋義寧元年(617),復置榆社縣,屬并州。
唐武德元年(618),初屬并州總管,后改屬韓州。
唐武德三年(620),分置偃武縣,縣治今郝北鎮魏城村;同時置榆州,治所今縣城,領榆社、平城(今和順縣儀城一帶)、偃武三縣。
武德六年(623)廢榆州,裁偃武,仍置榆社縣,屬遼州。
武德八年(625)屬箕州。
唐先天元年(712),屬儀州。
唐天寶元年(742)屬樂平郡。
唐乾元元年(758),復屬儀州。
唐中和三年(883),歸儀州改置的遼州。
五代十國時,先后被后梁、后唐、后晉、后漢統治,屬河東道遼州。
宋因之。
北宋熙寧七年(1074),廢遼州,降榆社為鎮,入武鄉縣,屬威勝軍。
北宋元豐八年(1085),復置遼州,榆社以鎮往屬。
北宋元祐元年(1086),復置榆社縣。
靖康(1126)后,隸屬河東南路的遼州。
元代,屬平陽路(后改稱晉寧路)遼州。
元至元三年(1266),并入遼山縣。
元至元六年(1269),復原榆社縣。
明朝實行里甲制,境域設30個里,隸屬冀南分守道遼州。
明萬歷四十二年(1615),隸屬冀寧分巡道遼州。
明崇禎年間,隸屬省城分巡道遼州。
清順治年間,隸屬冀南道遼州,后仍隸屬冀寧分巡道遼州。
乾隆初年,境域由30個里合并為南廂、西廂、和平、寄子、白東5個里。
清末,實行鄉約制,境域共設5鄉28約。
1912年裁遼州,直屬山西省軍政府。
1913年歸中路道。
1914年6月改屬冀寧道。
1917年省政府推行“村本政治”,廢止鄉約制。
1927年山西廢道,直轄于山西省督軍府。
1937年7月后,日軍侵犯山西,為適應戰時需要,山西省政府于10月將榆社縣劃歸第三行政主任公署。
同年,中國共產黨領導的抗日民主政府成立。
1940年8月,劃歸冀太聯辦太行區第二辦事處;9月,劃入太行行署三專區。
1942年晉冀魯豫邊區政府在以北翟管村為中心的東北地區設榆北辦事處(俗稱榆北縣),屬太行行署二專區。
1944年3月29日,全境解放,撤銷榆北辦事處,恢復榆社縣,駐地今箕城鎮潭村,屬太行行署三專區。
1945年12月,榆社縣人民政府成立。
1946年12月,屬太行行署二專區。
1947年10月,榆社縣政府機關駐地由潭村遷至城關村(今箕城鎮)。
1949年5月,屬太行行署左權專區。
8月屬榆次專區。
9月屬榆次區行政督察專員公署。
8月,歸屬榆次區專員公署。
1955年2月,縣人民政府改稱縣人民委員會(簡稱縣人委),歸榆次專員公署。
11月,榆社縣并入武鄉縣,置榆社鎮衛星、云簇燈塔、社城紅旗、郝北東風4個人民公社,屬長治專員公署。
1959年7月,恢復榆社縣建置,屬晉中專員公署。
1999年9月,國務院批準晉中撤地設市,屬晉中市。