秦置砀郡、砀县,治今城关镇南30千米河南夏邑县境芒砀山西麓。据《水经注》:“应劭曰,县有砀山,山在东,出文石。秦立砀郡,盖取山之名也。”
东汉改为砀山县,西晋并入夏邑县。隋开皇十八年(598)复置砀山县,治今城关镇东毛李庄。因黄水为患,县治多次迁移,至明万历二十六年(1598)始迁今址。1949年4月属宿县专区,1952年11月属江苏省徐州专区,1955年2月复属宿县专区,1956年1月属蚌埠专区,1961年4月属宿县专区。
1996年,砀山县面积1193平方千米,人口约83.1万人,辖14个镇、5个乡:城关镇、曹庄镇、李庄镇、文庄镇、程庄镇、葛集镇、唐寨镇、周寨镇、朱楼镇、良梨镇、官庄坝镇、西南门镇、关帝庙镇、玄庙镇、赵屯乡、权集乡、黄楼乡、陇海乡、刘暗楼乡。县政府驻城关镇。
2000年第五次人口普查,砀山县常住总人口862356人,其中,城关镇79466人,西南门镇35779人,李庄镇49845人,唐寨镇46186人,葛集镇59129人,周寨镇44954人,玄庙镇53155人,官庄坝镇44841人,曹庄镇33926人,关帝庙镇60556人,朱楼镇36141人,文庄镇25313人,程庄镇54126人,良梨镇56959人,陇海乡40550人,权集乡33904人,刘暗楼乡22763人,赵屯乡56585人,黄楼乡28178人。
2004年,砀山县乡镇由19个调整为18个,撤销陇海乡,并入城关镇,城关镇更名为砀城镇。2004年末,砀山县辖14个镇、4个乡:砀城镇、西南门镇、李庄镇、唐寨镇、葛集镇、周寨镇、玄庙镇、官庄坝镇、曹庄镇、关帝庙镇、朱楼镇、文庄镇、程庄镇、良梨镇、权集乡、刘暗楼乡、赵屯乡、黄楼乡。共有10个居委会、382个村委会。
2007年12月,砀山县调整乡镇行政区划:撤销西南门镇、文庄镇、刘暗楼乡、黄楼乡、权集乡、赵屯乡,调整6个镇,保留7个镇,调整后全县为13个镇。具体情况为:将原西南门镇整建制并入砀城镇,镇政府为原砀城镇驻地(西河北路1号)。将原文庄镇整建制并入唐寨镇,镇政府为原唐寨镇驻地(局子街)。将原刘暗楼乡整建制并入周寨镇,镇政府为原周寨镇驻地(周寨村)。将原黄楼乡整建制并入关帝庙镇,镇政府为原关帝庙镇驻地(关帝庙)。将原权集乡整建制并入玄庙镇,镇政府为原玄庙镇驻地(砀山县果园场场部所在地)。同时还将赵屯乡撤销,设立赵屯镇,行政区划范围不变,镇政府为原赵屯乡驻地(陈庄村)。保留葛集镇、李庄镇、良梨镇、程庄镇、朱楼镇、曹庄镇、官庄坝镇7个镇,行政区划范围、镇政府驻地不变。
2010年第六次人口普查,砀山县常住总人口800408人,其中,砀城镇156532人,赵屯镇50554人,李庄镇45817人,唐寨镇61912人,葛集镇55345人,周寨镇60185人,玄庙镇82203人,官庄坝镇40059人,曹庄镇28676人,关帝庙镇70755人,朱楼镇31091人,良梨镇46138人,程庄镇47425人,经济开发区16632人,薛楼板材加工园7084人。