原名劉壩,相傳漢留侯張良辟谷壩西紫柏山下,后人諧名留壩,后以名縣。清乾隆三十年(1765年)正月分鳳縣和褒城二縣地于今城關鎮置留壩廳,屬漢中府。1913年罷廳設留壩縣。1914年屬漢中道。1928年直屬省。
1949年屬陜南行署區。1951年屬南鄭專區。1953年屬漢中專區。1958年撤銷縣制,轄地劃歸鳳縣和漢中市。1961年除榆林鋪、碾子壩外,以原劃入鳳縣的地域和漢中市的馬道公社為轄區,復設留壩縣,屬漢中專區。1969年屬漢中地區。1996年屬漢中市。
1996年,東溝鄉、鮮家壩鄉并入馬道鎮,南河鄉、姜窩子鄉、鐵佛殿鄉合并設立武關驛鎮,閘口石鄉、廟臺子鄉合并設立留侯鎮,柳川鄉、柘梨園鄉并入江口鎮,獅子壩鄉并入玉皇廟鄉。
1997年末,全縣面積1958.2平方千米。總戶數12725戶,總人口44995人,其中農業戶9740戶,農業人口38255人。轄5鎮5鄉:城關鎮、馬道鎮、武關驛鎮、留侯鎮、江口鎮、青橋驛鄉、火燒店鄉、石門鄉、玉皇廟鄉、桑園壩鄉。(100個行政村)
2000年第五次人口普查,留壩縣常住總人口46294人,其中:城關鎮11065人、馬道鎮5381人、武關驛鎮5727人、留侯鎮3196人、江口鎮7713人、青橋驛鄉2388人、火燒店鄉3511人、石門鄉1735人、玉皇廟鄉3520人、桑元鄉2058人。
2001年,撤銷石門鄉并入玉皇廟鄉。2001年末,全縣人口45545人。轄5個鎮、4個鄉:城關鎮、馬道鎮、武關驛鎮、留侯鎮、江口鎮、青橋驛鄉、火燒店鄉、玉皇廟鄉、桑園壩鄉。
2010年第六次人口普查,留壩縣常住總人口43398人,其中:城關鎮10746人,馬道鎮5094人,武關驛鎮5145人,留侯鎮2988人,江口鎮7171人,青橋驛鄉1947人,火燒店鄉3070人,玉皇廟鄉5140人,桑元壩鄉2097人。
2011年,撤銷桑園壩鄉并入江口鎮,撤銷玉皇廟鄉設立玉皇廟鎮,撤銷火燒店鄉設立火燒店鎮,撤銷青橋驛鄉設立青橋驛鎮。調整后,留壩縣轄8個鎮:城關鎮、馬道鎮、武關驛鎮、留侯鎮、江口鎮、青橋驛鎮、火燒店鎮、玉皇廟鎮。
2012年末,留壩縣面積1951.3平方千米,戶籍人口43571人,常住人口4.34萬人。2013年末,留壩縣轄8個鎮,共有1個社區、98個行政村,縣政府駐城關鎮。
2015年,撤銷城關鎮,設立紫柏街道。撤并23個行政村,保留75個行政村。調整后,留壩縣轄1個街道、7個鎮。