隋大業元年(605)設洛源縣,后廢。宋代為西夏地,元、明、清各代分屬鄰縣。吳起鎮相傳為戰國名將吳起屯兵之處。1935年10月19日,中共中央和中央紅軍到達吳起鎮與陜北紅軍勝利會師,從此結束了二萬五千里長征。
1942年8月,陜甘寧邊區人民政府決定“吳起”易名為“吳旗”,并析靖邊、定邊及甘肅省慶陽等縣地于吳旗鎮設吳旗縣。1949年撤銷吳旗縣。1950年4月19日,陜西省人民政府決定恢復吳旗縣建制,5月,分志丹、定邊、靖邊3縣地復設吳旗縣,縣政府駐吳旗鎮,屬延安分區。1958年12月撤銷吳旗縣,轄地并入志丹縣。
1961年9月以原轄區復設吳旗縣,屬延安專區。1968年屬延安地區。1996年屬延安市。2005年10月17日,民政部(民函[2005]278號)批準同意吳旗縣更名為吳起縣;10月18日,陜西省人民政府(陜政函[2005]128號)批準同意吳旗縣更名為吳起縣;10月19日正式更名為吳起縣。
1950年全縣設5區29鄉。1952年為6區32鄉。1956年3月,劉興莊、河石灣2村歸志丹縣,志丹縣楊坬溝、小木澗、高樓坬3村歸吳旗縣;12月,南溝鄉長蟲梁、箭桿灣、孔家臺、閻莊科,化山城子等村歸定邊縣。全縣設蔡砭、水泛、鐵邊城、周灣4區和1個直屬鄉。蔡砭區轄鳳凰寺、苗莊科、楊興莊、薛岔4鄉。水泛區轄長官廟、廟溝、大岔、白豹、王砭5鄉。鐵邊城區轄王河、暴城、鐵邊城、田百戶、王洼子5鄉。周灣區轄雙灣澗、桐河、徐臺則、小口則、黨畔5鄉。直屬鄉轄樓房、張坪、吳旗、黨河4鄉。共23鄉,7667戶,48587人,轄地為今吳旗縣地。
1958年8月,撤銷區級建制,23鄉合為12個大鄉;10月,12個大鄉改為前進、紅星、幸福、曙光、紅旗、團結、青春7個公社。1961年,全縣設城關、樓房坪、白豹、長官廟、廟溝、新寨、鐵邊城、王坬子、五谷城、薛岔、吳倉堡、周灣、長城13個公社。1981年5月,增設吳旗鎮。1984年8月,撤公社設鄉(鎮),改周灣鄉為周灣鎮,鐵邊城鄉為鐵邊城鎮。全縣設3鎮11鄉,160個行政村。
1988年,設3鎮11鄉,即吳旗鎮、周灣鎮、鐵邊城鎮、白豹鄉、廟溝鄉、王坬子鄉、長城鄉、吳倉堡鄉、五谷城鄉、新寨鄉、薛岔鄉、樓房坪鄉、長官廟鄉、洛源鄉,共22139戶,104327人(延安地區志數據)。1991年,吳旗縣總面積3791.5平方千米,總人口11.3萬人,其中農業人口10.3萬人(陜西年鑒數據)。
1996年,吳旗縣總人口27242戶,118850人。轄3個鎮、11個鄉:吳旗鎮、周灣鎮、鐵邊城鎮、新寨鄉、王坬子鄉、薛岔鄉、長城鄉、洛源鄉、長官廟鄉、廟溝鄉、白豹鄉、吳倉堡鄉、樓坊坪鄉、五谷城鄉,共有5個居委會、163個行政村。縣政府駐吳旗鎮。
2000年第五次人口普查,全縣總人口112524人,其中:吳旗鎮15247人,鐵邊城鎮6246人,周灣鎮7743人,洛源鄉19188人,吳倉堡鄉7471人,新寨鄉6358人,王洼子鄉4222人,廟溝鄉6802人,長官廟鄉5695人,白豹鄉7217人,樓坊坪鄉5343人,薛岔鄉6072人,五谷城鄉8673人,長城鄉6247人。
2001年,撤銷洛源鄉并入吳旗鎮,撤銷白豹鄉、樓坊坪鄉設立白豹鎮。區劃調整后,吳旗縣轄4個鎮、8個鄉:吳旗鎮、鐵邊城鎮、周灣鎮、白豹鎮、吳倉堡鄉、新寨鄉、王坬子鄉、廟溝鄉、長官廟鄉、薛岔鄉、五谷城鄉、長城鄉。(164個行政村)
2007年,吳旗鎮更名為吳起鎮。2010年,撤銷長官廟鄉設立長官廟鎮,撤銷長城鄉設立長城鎮。全縣轄6鎮6鄉1個辦事處,7個社區、164個行政村,1110個村民小組,總面積3791.5平方千米,總人口13.4萬人,其中農業人口10.6萬人。
2011年,撤銷王坬子鄉并入鐵邊城鎮,撤銷薛岔鄉、新寨鄉并入吳起鎮。調整后,吳起縣轄6個鎮、3個鄉:吳起鎮、鐵邊城鎮、周灣鎮、白豹鎮、長官廟鎮、長城鎮、吳倉堡鄉、廟溝鄉、五谷城鄉。