东汉永元七年(95),和帝刘肇封平定西域功臣班超为定远侯,置定远城,亦号平西城、班城。
三国蜀汉章武元年(221),分成固县南部置建南乡县,为蜀重镇,属益州汉中郡辖。
西晋太康二年(281),治所北移,改称西乡县。
唐武德四年(621),析西乡县东南,以洋水(今泾洋河)发源地为名,置洋源县。
大历元年(766),县治被焚,北移于西乡县白湍村(今西乡县古城子)权置行县。
宝历元年(825),洋源县废,辖地复入西乡县。
清嘉庆七年(1802)7月,奏将西乡县辖东南二十四地以“安边远猷也”,设置定远厅。
1913年2月,改定远厅为定远县。
1914年1月,与安微、四川、云南等三省县名重名,因县治在巴山之北,县境又有大小巴山,定名镇巴县,汉中府改为汉中道,属陕西省汉中道。
1933年9月,红四方面军创建川陕革命根据地在镇巴县赤南镇坪落村庞家院子(后迁青鹤观)建立陕南县苏维埃政府。
1935年2月,红军奉命入川西进,陕南县随之消失,全境仍称镇巴县,属陕西省。
1949年12月17日,中国人民解放军19军55师解放镇巴,12月19日镇巴县人民政府宣告成立,县属陕甘宁边区陕南行政区汉中分区。
1950年1月,县属陕西省陕南行政区汉中分区。
1950年5月,县直属陕西省陕南行政区。
1951年2月,县属陕西省南郑区专员公署。
1954年1月,县属汉中区专员公署。
1955年6月,县属陕西省汉中专区。
1969年1月,县属陕西省汉中地区。
1996年2月,县属陕西省汉中市,至今。