唐代時於境內置宕州及懷道郡、縣。“安史之亂”時,唐朝在西北地區的兵力東撤,吐蕃乘機深入河西、隴右,占領合川、懷道、武都等郡,盡取隴右之地,統治達300年之久。宋神宗時收復宕州,西固歸階州福津縣轄。元、明、清於西固置蕃漢軍民德行十戶所及西固分州,民國二年(公元1913年)改西固分州為西固縣。民國十六年(公元1927年)7月,廢道,西固縣劃歸第一行政督察區(專員公署治岷縣)。民國三十一年(公元1942年),西固縣劃入第八行政督察區(專員公署治武都),直至1949年。
1949年12月西固縣解放,1954年西固縣遷址宕昌,2004年,歸隴南市所轄。