西汉于今县城南5千米蒲子村置蒲子县,属河东郡。三国魏改属平阳郡。晋永嘉三年(309)于县置大昌郡,县属之。北魏初年置新城县,属吐京郡。太平真君年间改岭东县,太和二十一年(497)复为新城县,隋废。
唐武德三年(620)于今县城东北25千米温泉村置温泉县和北温州;不久析置新城、高唐2县,俱属北温州。贞观元年(627)废北温州,新城县废入温泉县,高唐县废入隰州,温泉县属隰州。
金改属石州,贞佑四年(1216)属汾州。蒙古至元三年(1266)废入孝义县。1971年析孝义、灵石、隰县、中阳4县地置交口县,县以县政府驻地交口镇而得名,属吕梁地区。
1997年,交口县辖4镇5乡:城关镇、康城镇、双池镇、桃红坡镇、石口乡、川口乡、回龙乡、温泉乡、坛索乡。县政府驻城关镇。
2000年第五次人口普查,交口县总人口107461人,其中:城关镇24210人,康城镇15128人,双池镇18008人,桃红坡镇10435人,石口乡5191人,川口乡8212人,回龙乡11042人,坛索乡5104人,温泉乡10131人。
2001年,区划调整后,全县辖4个镇、3个乡:水头镇、康城镇、双池镇、桃红坡镇、石口乡、回龙乡、温泉乡。县政府驻水头镇。