春秋時周定王十三年(公元前594年)晉國置瓜衍縣(今市區北5千米虢城村)。秦王政二十二年(公元前225年)屬茲氏縣域。西漢屬茲氏縣。三國魏中陽縣治徙今市區西13千米鞏村,屬西河郡。西晉永嘉元年(公元307年)并入隰縣。北魏太和十七年(493年)于今市區東3千米置永安縣,屬西河郡。孝昌年間吐京郡自今石樓縣境寄治今市區西10千米吐京村,永安二年(529)于今市區西10千米六壁頭村僑置顯州及建平郡,于今虢城村置定戎郡,所置郡俱屬顯州。北齊廢顯州及所屬郡。
唐武德三年(620)于今市區西南33千米王莊堡村別置高唐縣,屬北溫州。貞觀元年(627)廢高唐縣,改永安縣為孝義縣,屬汾州。“因縣人鄭興有孝義,故以名焉”。另據《讀史方輿紀要》載,縣名以縣境有孝水和義水得名。宋太平興國元年(976)為避太宗趙光義名諱,改中陽縣。次年太宗改名,縣復稱孝義。熙寧五年(1072)廢入介休縣。元祐元年(1086)復置孝義縣,屬汾州。明、清屬汾州府。民國初年屬冀寧道,道廢后直屬省。
1949年屬汾陽專區。1951年屬榆次專區。1958年廢入介休縣。1961年復置,屬晉中專區。1967年屬晉中地區。1971年屬呂梁地區。1992年2月10日,經國務院批準,撤銷孝義縣設立孝義市。
1997年,孝義市轄9鎮9鄉:城關鎮、司馬鎮、梧桐鎮、柱濮鎮、兌鎮鎮、陽泉曲鎮、西辛莊鎮、高陽鎮、下堡鎮、城關鄉、大孝堡鄉、東許鄉、下柵鄉、李家莊鄉、白璧關鄉、驛馬鄉、南陽鄉、杜村鄉。市政府駐城關鎮。
2000年第五次人口普查,孝義市總人口414154人,其中:三賢街道39323人,新義街道29633人,兌鎮鎮50820人,陽泉曲鎮41958人,下堡鎮23892人,西辛莊鎮15911人,高陽鎮23811人,司馬鎮16167人,梧桐鎮26107人,柱濮鎮15439人,古城鎮30015人,大孝堡鄉20183人,白壁關鄉19169人,下櫥鄉13881人,東許鄉11177人,驛馬鄉8359人,南陽鄉8177人,杜村鄉9579人,李家莊鄉10553人。
2001年,區劃調整后,全市轄3個街道、7個鎮、5個鄉:新義街道、中陽樓街道、振興街道、兌鎮鎮、陽泉曲鎮、下堡鎮、西辛莊鎮、高陽鎮、梧桐鎮、柱濮鎮、大孝堡鄉、下柵鄉、驛馬鄉、南陽鄉、杜村鄉。
全市現轄5個街道、7個鎮、5個鄉:新義街道、中陽樓街道、振興街道、東許街道、崇文街道、兌鎮鎮、陽泉曲鎮、下堡鎮、西辛莊鎮、高陽鎮、梧桐鎮、柱濮鎮、大孝堡鄉、下柵鄉、驛馬鄉、南陽鄉、杜村鄉。