唐武德六年(623)复置灵丘县,先后寄治今阳曲、繁峙、忻州等县、市,贞观五年(631)还故治,属蔚州,且为州治。金贞佑二年(1214)升灵丘县为成州,属西京路。元复为灵丘县,仍属蔚州。明、清属大同府。民国初年属雁门道,道废后直属省。1949年属察哈尔省。1952年复归山西省,属雁北专区。1958年属晋北专区。1961年复属雁北专区。1967年属雁北地区。1993年属大同市。
1996年,灵丘县人口约21万人。辖3个镇、16个乡:城关镇、东河南镇、上寨镇、高家庄乡、落水河乡、招柏乡、柳科乡、下关乡、王成庄乡、石家田乡、白崖台乡、赵北乡、史庄乡、三楼乡、独峪乡、银厂乡、狼牙沟乡、红石塄乡、唐之洼乡。县政府驻城关镇。
2000年第五次人口普查,灵丘县常住总人口209713人,其中,城关镇54787人,东河南镇26528人,上寨镇14534人,落水河乡20012人,唐之洼乡7298人,高家庄乡12181人,史庄乡6836人,王城庄乡10310人,赵北乡5581人,石家田乡8870人,柳科乡7495人,白崖台乡5723人,招柏乡3334人,红石塄乡4301人,狼牙沟乡1394人,下关乡8106人,独峪乡4520人,三楼乡3684人,银厂乡4219人。
2001年,城关镇、高家庄乡、唐之洼乡设立武灵镇(?灵丘镇?);东河南镇、银厂乡合并设立东河南镇;上寨镇、狼牙沟乡设立上寨镇;落水河乡、招柏乡设立落水河乡;赵北乡、王成庄乡合并设立赵北乡;独峪乡、三楼乡设立独峪乡。区划调整后,全县辖3个镇、9个乡:武灵镇、东河南镇、上寨镇、落水河乡、史庄乡、赵北乡、石家乡、柳科乡、白崖台乡、红石塄乡、下关乡、独峪乡。县政府驻武灵镇。
2005年,灵丘镇更名为武灵镇。
2010年第六次人口普查,灵丘县常住总人口234004人,其中,武灵镇121110人,东河南镇26083人,上寨镇14792人,落水河乡21371人,史庄乡4915人,赵北乡11005人,石家田乡7091人,柳科乡5712人,白崖台乡4023人,红石塄乡3286人,下关乡6778人,独峪乡7838人。
2015年末,灵丘县辖3个镇、9个乡(合计12个),13个居委会、255个村委会(合计268个)。