通山县在战国时为楚地,秦属南郡,汉属江夏郡下雉县。三国属吴之武昌郡阳新县,隋改阳新为永兴,唐属鄂州永兴县。北宋乾德二年(964),南唐(遵北宋年号)始置通山县,以城内通羊、青山二镇各取一字命名,以通羊镇为县邑,隶鄂州。开宝八年(975)属江南道。太平兴国元年(976)属荆湖北路永兴军,太平兴国二年属江南西道兴国军,太平兴国三年降为羊山镇,不久复为县。崇宁元年(1102)属江西路兴国军。南宋绍兴四年(1134)再次降为镇,翌年复县。
元至元十七年(1280)属江淮行省蕲黄道,至元十九年属江西道,至元三十年(1293)属湖广省兴国路。明洪武元年(1368)属兴国府,洪武九年(1376)属武昌府兴国州。清康熙三年(1664)属武昌府。民国元年(1912)属湖北省第一区,三年(1914)属江汉道,十六年(1927)直属湖北省辖。廿一年(1932),国民县府属第二行政督察区,25年(1936)改属第一行政督察区。
1949年5月属大冶专署。1950年3月大冶行署析出阳新县燕厦、大畈、黄沙等地划入通山。1952年6月属孝感专区。1954年南林区高桥乡的黄泥档、三界宕、张家、孙家、花红等村及雨山乡的廖家山村划归崇阳县。1955年3月,阳新县八区白果乡陈村划归通山县。1958年11月通山与崇阳、通城合并为崇阳县,1959年3月恢复通山县。1959年11月属武汉市,1962年5月复属孝感专区。1965年6月属咸宁地区(地区)。1971年,将杉木、太平、东源等地划归阳新县。现为咸宁市辖县。
1996年,通山县面积2680平方千米,人口约40.7万人。辖8镇18乡:通羊镇、九宫山镇、大畈镇、南林桥镇、洪港镇、黄沙铺镇、厦铺镇、横石潭镇、三界乡、三源乡、下泉乡、大路乡、万家乡、杨芳乡、杨林乡、沙店乡、畅周乡、宝石乡、畈泥乡、港路乡、梅田乡、高湖乡、富有乡、湄港乡、慈口乡、燕厦乡。县政府驻通羊镇。
2000年第五次人口普查,通山县总人口378849人,其中(9个镇、4个乡):通羊镇96591人,南林桥镇31593人,厦铺镇18150人,闯王镇19422人,横石潭镇29919人,洪港镇31122人,大畈镇21679人,九宫山镇3550人,黄沙铺镇32675人,大路乡26527人,杨芳林乡17398人,燕夏乡31468人,慈口乡18755人。
2002年,通山县为加大九宫山旅游资源开发力度,将九宫山镇和横石潭镇合并,设立新的九宫山镇。
2004年末,通山县总人口416936人。辖8个镇、4个乡,1个名胜风景管理区(九宫山),15个居委会、184个村委会。(1781个村民小组)
2005年末,通山县辖8个镇、4个乡。共有17个居委会、172村委会。
2010年第六次人口普查,通山县常住总人口361079人,其中:通羊镇124141人,南林桥镇25289人,黄沙铺镇28058人,厦铺镇13131人,九宫山镇28284人,闯王镇14904人,洪港镇25191人,大畈镇23770人,大路乡26116人,杨芳林乡12727人,燕厦乡23629人,慈口乡13487人,九宫山风景区2300人,通山县开发区52人。