西周时期,地属褒国。秦惠文王更元十三年(公元前312年)攻取汉江中游楚国的汉中郡后,于南郑(今汉台区东北)置汉中郡。楚、汉之际刘邦受封汉王,都南郑。西汉移郡治于西城(今安康城区西北汉江北岸),新莽曾改称新城郡。东汉复原名还治南郑,初平二年(公元191年)改名汉宁郡。建安二十年(215年)复原名,属益州。三国魏景元四年(263年)于沔阳(今勉县东)析益州地置梁州,西晋太康年间移治南郑。南朝宋于南郑侨设秦州及华阳、怀安等郡。梁天监三年(504年)北魏在东部设梁州及汉中、晋昌、褒中、华阳、丰宁五郡,在西部设东益州及武兴、 头、落丛三郡。

西魏废帝元年(552年)改设为梁州及汉中、褒中、傥城三郡洋州(治今西乡)及洋川、丰宁、怀昌等郡兴州(治今略阳)及顺政、 头、落丛、华阳四郡。北周天和年间撤销褒中、怀昌、 头三郡,更汉中为郡为汉川郡。

隋开皇三年(公元583年)废郡存梁、洋、兴三州。大业二年(606年)废洋州,三年罢梁、兴二州,复设汉川、顺政(治今略阳)二郡。

唐武德元年(618年)废郡复设梁、洋、兴三州,贞观元年(627年)州属山南道开元十三年(725年)因梁州与凉州同音,更梁州为褒州二十年复名梁州二十一年析山南道于南郑置山南西道。天宝元年(742年)罢州复设汉中、洋川、顺政三郡十五年移洋川郡治于兴道县(今洋县)乾元元年(758年)复废郡设梁、洋、兴三州兴元元年(公元784年)升梁州为兴元府。十国时后蜀更洋州为源州。

北宋乾德三年(965年)源州复名洋州,开宝六年(973年)府治兼为峡西路治,咸平四年(1001年)废峡西路,于府治兼置利州路,南宋绍兴十三年(1143年)增设大安军,次年利州路分东、西二路,府治为利州东路治,兴州为利州西路治开禧三年(1207年)改兴州为沔州。

元初废大安军及两路,升兴元府为西元路,属陕西行中书省至元二十年(1283年)沔州移治铎水(今勉县旧州铺)。

明洪武三年(1370年)改兴元路为汉中府,降洋州为洋县七年降沔州为沔县。成化二十一年(1485年)改宁羌卫为宁羌州。

清因之,汉中府辖宁羌州及南郑、褒城、城固、洋县、西乡、沔县、凤县、略阳八县和留坝、定远、佛坪三厅。1913年改府为道,改州、厅为县。1914年改定远县为镇巴县。1925年佛坪县治迁今址。1928年废道,以县属省。1935年为陕西省第六行政督察专区。