秦置延陵县,西汉置阳原、延陵二县,属代郡。北魏改置广牧县,属附化郡。
隋为玉泉驿,属马邑县,后置玉泉县。唐仍称玉泉驿,后置天成军。
五代北周时期属云中县。辽代始为天成县,金改为天城县,元仍名天成县。中统三年(1262年)改属兴和路。
明洪武四年(1371年)改属大同府。洪武二十六年(1393年)置天成卫兼置镇虏卫,属山西行都指挥使司。洪熙元年又添设镇虏卫。
清顺治三年(1646年)并天城、镇虏二卫为天镇卫,清雍正三年(公元1725年)始称天镇县,属大同府。
民国属雁门道。抗日战争时期,天镇县南部山区为根据地,属晋察冀边区。
1948年3月天镇县解放。
1958年并入阳高县,1961年又恢复天镇县至今。