梁置蘭水縣,隋開皇十二年(592)并入龍溪縣。元至治元年(1321)析龍溪、漳浦、龍巖縣地設南勝縣,治所在今平和南勝,后遷縣治于今平和舊縣,至正十六年(1356)近縣治于蘭陵(今靖城),更名南靖。歷屬漳州路、漳州府、汀漳道。1938年遷縣治于今所。1949年9月17日解放,屬龍溪專區(地區)、漳州市。
1949年10月,全縣劃分為6個區。1950年11月,劃出第一區船南鄉建立第七區;全縣共設7個區,下轄1鎮118鄉。1952年7月,劃出第四區和溪鄉、第五區奎洋鄉設立第八區。1954年11月,劃出第一區豐田鄉創辦地方國營南靖寶林農場。1955年9月5日,各區名稱改用駐地名稱,并將原第三區、第四區合并組建龍山區;全縣共設山城、靖城、龍山、長教、船場、和溪、程溪7個區及1個寶林農場;7個區共轄126鄉2鎮(山城鎮、靖城鎮);同時另設5個水上鄉(翠眉、橋頭、靖和、金龍、永寶)。
1956年5月15日,撤銷靖城、和溪2個區,保留山城、龍山、長教、船場、程溪5個區。1957年2月19日,因劃出程溪區8個鄉歸龍溪縣管轄,全縣共設置4個區、1個場,下轄1鎮53鄉。1958年2月,全縣撤區并鄉,設山城鎮和六安、三卞、湯坑、葛山、豐田、靖城、古湖、古棠、寶斗、龍山、南坑、高德、金山、馬公、和溪、永溪、奎洋、長教、梅林、曲江、書洋、世祿、龍坑、梧宅24個鄉,以及國營寶林農場。
1958年9月,全縣撤銷鄉(鎮),設立上游、靖城、棠溪、燈塔、超美、紅旗、衛星、躍進、東方紅、乘東風、超英11個公社、84個耕作管理區。1959年11月,公社名稱改用駐地名稱;撤銷棠溪公社,其轄區分別歸入山城、龍山2個公社。1963年3月,劃出山城公社城關生產大隊,恢復山城鎮建制;年底,全縣共轄1個鎮、10個公社、1個國營農場。1969年,撤銷山城鎮建制,改為居民大隊,歸山城公社管轄。
1976年,對部分公社所轄生產大隊適當調整合并,全縣共設10個公社、1個國營農場,下轄168個生產大隊、5個作業區。1980年9月,重新建立城關鎮;全縣共設10個公社、1個鎮、1個場,下轄169個生產大隊、3個居民委員會、5個作業區。1984年,實行政社分開,公社改為鄉(鎮),生產大隊改為村;11月4日,靖城鎮增設蘭陵居委會;年底,全縣共設2個鎮、9個鄉、1個場,下轄5個居委會、169個村、5個作業區。1985年10月3日,奎洋鄉增建嶺頭、光祠2個村。1986年9月18日,龍山鄉增建金杉村。
1987年4月16日,撤銷山城鄉,并入山城鎮。1988年12月29日,龍山、船場2鄉改為鎮。1990年,南靖縣共設山城、靖城、龍山、船場4鎮和金山、和溪、奎洋、梅林、書洋、南坑6鄉,共轄9個居委會、172個村。1998年,南靖縣面積1988平方千米,總人口33.84萬人,其中非農業人口4.79萬人,轄8個鎮、2個鄉、1個高科技工業園區、1個華僑農場,15個居委會、176個村委會。
1999年,省政府批復同意豐田農場改制,設立豐田鎮,轄豐華、東華、僑東3個居委會和豐田、鳳安、東方、保林、紅星3個村委會,鎮政府駐橫山。2000年,撤銷書洋鄉,設立書洋鎮;撤銷梅林鄉,設立梅林鎮;調整后,南靖縣轄11個鎮。
2000年第五次人口普查,南靖縣常住總人口342165人,其中:山城鎮84034人、豐田鎮8910人、靖城鎮66358人、龍山鎮36996人、金山鎮35960人、和溪鎮22924人、奎洋鎮13924人、梅林鎮12876人、書洋鎮21654人、船場鎮24504人、南坑鎮14025人。
2003年末,南靖縣戶籍人口34.16萬人,其中非農業人口9.16萬人。轄11個鎮:山城鎮、靖城鎮、龍山鎮、船場鎮、金山鎮、和溪鎮、奎洋鎮、南坑鎮、豐田鎮、梅林鎮、書洋鎮。
2010年第六次人口普查,南靖縣常住總人口333969人,其中:山城鎮93266人,豐田鎮10301人,靖城鎮65481人,龍山鎮37820人,金山鎮37978人,和溪鎮19438人,奎洋鎮10176人,梅林鎮9584人,書洋鎮18267人,船場鎮21297人,南坑鎮10361人。