交城县商代属唐境。
西周境属北唐。
春秋时期,县境属晋国。
战国时期境地属赵。
秦王政元年(前246),秦夺赵晋阳,置太原郡,现境属之。
西汉高祖二年(前205)九月,魏灭,境属西汉河东郡晋阳县西陲、大陵县东北陲。
初始元年(8)十二月,王莽易大陵为大宁,县境仍为晋阳、大宁二县分属。
东汉时期,晋阳、大陵二县隶于并州刺史部太原郡。
建安二十一年(216),置匈奴中部都尉于大陵。
三国黄初元年(220),魏文帝改太原郡为太原国,境地属魏太原国晋阳西境。
西晋时期,地属并州太原国晋阳、大陵二县。
建兴四年(316)十二月,司空长史以并州降汉,境地复属汉。
南北朝北魏皇始元年(396)九月,境地始属北魏。
永熙三年(534)十月,北魏分裂,境地遂属东魏。
为晋阳西陲,隶于并州太原郡。
隋开皇初,境地北属晋阳;南隶受阳;十年(590),改受阳为文水县;十六年(596),析晋阳西陲、文水北境置交城县。
县治设于古交,取古交西北20里镇城底之汉代交城以名县。
初隶并州,大业三年(607)隶太原郡。
唐代武德年间,改为郊城府,旋复为县。
天授二年(691),县治南迁却波村即今治。
先天二年(713),分交城北境置灵川县(亦曰卢川)于古交西北炉峪口,开元二年(714)废,复属交城县。
唐初,隶于并州太原府。
宋代太平兴国四年(979),以交城置大通监,隶于路;宝元二年(1039)以大通监,隶太原府。
金天会四年(1126),隶于金太原府。
蒙古成吉思汗八年(1213)破河东,地隶于蒙古,仍为交城县。
元至元十五年(1278)隶太原路;大德八年(1304)于交城县置铁冶都提举司,为大通冶,翌月改隶冀宁道。
明、清时期隶于太原府。
1912年废太原府,交城县隶于冀宁道。
1937年10月,交城民国政权隶于第四行政区;翌年2月16日,划归第八行政区。
1939年4月23日,划属省政府第二行政公署。
1940年1月,成立抗日民主政府。
1941年11月,交城县划为交城、交西二县;仍隶于八专署。
1945年7月15日,改属吕梁行署八专区;同年8月,复合二县为交城县。
1948年6月24日,交城县划归华北区,同年8月1日,划于晋中行署二专区。
1949年3月,并入太原市。
9月,成立省人民政府,交城县属榆次专区;10月改属汾阳专区。
1951年3月27日,复属榆次专区。
1958年,榆次专区改名晋中专区。
同年9月25日,交城、文水、汾阳并为汾阳县。
人民公社与乡政权实行政社合一成立了东风、卫星、钢铁、吕梁4大公社。
旋与文水、汾阳合为汾阳县,交城设办事处。
1959年9月19日,复分为3县。
1971年5月,吕梁地区成立,交城县划属吕梁地区。
2003年10月,国务院批准吕梁地区撤地设市,交城县属吕梁市管辖。