春秋時期為晉國東陽地的“邊陲之地”。西漢初年始置南宮縣,屬巨鹿郡,位今址西北部,境域約為今域一半。因周代“八士”之一的南宮適(kuo)封邑于此,漢高祖取其復(fù)姓為縣名。呂后元年(公元前187年)張買以其父有功績被封為南宮侯,南宮縣改稱南宮國,建置仍與縣同。漢武帝建元年間(公元前140-135年)復(fù)置南宮縣,屬冀州刺史部信都國。新莽時期(9-24年)南宮改稱序下。
東漢初恢復(fù)南宮縣名。東漢后期境域擴(kuò)大,繚縣(今境域中部一帶)、信城縣北部(今境域東南部一帶)、堂陽縣東南部(今境域西北部一帶)陸續(xù)納入南宮縣境,時與今境域基本一致。西晉初,廢南宮縣。晉武帝太康五年(284年)復(fù)置南宮縣,屬冀州長樂國。東晉大興二年(319年),南宮縣歸屬后趙政權(quán)。此后,先后歸屬前燕、前秦、后燕、北魏政權(quán)。北朝太武帝太平真君二年(441年),經(jīng)縣(今河北省威縣一帶)并入南宮縣。不久復(fù)析出。北齊天保七年,南宮縣被廢。
隋開皇六年(586年)復(fù)設(shè)南宮縣,仍隸屬冀州。北宋皇佑四年(1052年)南宮縣省入新河縣,熙寧六年(1073年)復(fù)置南宮縣,新河縣省入為鎮(zhèn)。金屬河北東路冀州。元太宗四年(1232年),析南宮原新河地設(shè)新河縣。實(shí)行“行省制度”后,南宮縣屬中書省真定路冀州。明隸屬真定府冀州。明成化十四年(1478年),濁漳河泛濫,南宮縣城被淹,遷址至飛鳳崗(即今址)。清隸屬直隸省冀州。
1913年,屬冀南觀察使轄。1928年改直隸省為河北省,南宮縣直屬河北省。八路軍東進(jìn)縱隊于1938年2月進(jìn)駐南宮縣城,建立“南宮縣抗日政府”,8月14日在南宮建立冀南行政主任公署,轄51個縣。1940至1944年,曾析設(shè)垂楊縣,后還屬。1945年5月南宮解放,恢復(fù)南宮縣制,隸屬冀南四專署。1949年8月1日河北省人民政府和邢臺專區(qū)建立,南宮劃歸邢臺專區(qū);1958年4月邢臺專區(qū)撤銷,南宮縣歸為邯鄲專區(qū);1961年5月復(fù)設(shè)邢臺專區(qū)(1970年改稱邢臺地區(qū)),南宮縣還屬。1958年威縣、清河縣并入南宮縣。1961年析出復(fù)置威縣、清河縣,同時新河縣并入,東南部分鄉(xiāng)鎮(zhèn)歸清河縣;1962年均還屬。
1986年3月5日,南宮縣撤縣設(shè)市。下轄鳳崗、南杜、北胡、西丁4個街道,蘇村、大高村、垂楊、段蘆頭4個鎮(zhèn)和小石柏、大召、大村、陳村、南便村、獨(dú)水張家莊、高家寨、大潘莊、大屯、王道寨、開河、孫村、前劉邱村、西喬村、后雙爐、明化鎮(zhèn)、紅廟狼冢、薛吳村、郝家屯、王門莊、張侯疃、徐馬寨、董家廟、前紫冢24個鄉(xiāng)。
1990年,明化鎮(zhèn)鄉(xiāng)改為明化鎮(zhèn)。1996年,擴(kuò)鎮(zhèn)并鄉(xiāng),全市調(diào)整為4個街道、5個鎮(zhèn)、6個鄉(xiāng),即鳳崗街道、南杜街道、北胡街道、西丁街道、蘇村鎮(zhèn)、大高村鎮(zhèn)、明化鎮(zhèn)、垂楊鎮(zhèn)、段蘆頭鎮(zhèn)、前紫冢鄉(xiāng)、南便村鄉(xiāng)、大村鄉(xiāng)、大屯鄉(xiāng)、王道寨鄉(xiāng)、薛吳村鄉(xiāng)。全市面積854平方千米,人口約45.8萬人,市政府駐鳳崗街道。
2000年第五次人口普查,南宮市常住總?cè)丝?67356人,其中:鳳崗街道68040人,南杜街道12360人,北胡街道22065人,西丁街道12079人,蘇村鎮(zhèn)24084人,太高村鎮(zhèn)23236人,垂楊鎮(zhèn)40459人,明化鎮(zhèn)33017人,段蘆頭鎮(zhèn)48642人,大村鄉(xiāng)26789人,南便村鄉(xiāng)31885人,大屯鄉(xiāng)23817人,王道寨鄉(xiāng)25907人,薛吳村鄉(xiāng)33848人,前紫冢鄉(xiāng)41128人。
2004年,前紫冢鄉(xiāng)改為紫冢鎮(zhèn)。調(diào)整后,全市轄4個街道、6個鎮(zhèn)、5個鄉(xiāng):鳳崗街道、南杜街道、北胡街道、西丁街道、蘇村鎮(zhèn)、大高村鎮(zhèn)、垂楊鎮(zhèn)、明化鎮(zhèn)、段蘆頭鎮(zhèn)、紫冢鎮(zhèn)、大村鄉(xiāng)、南便村鄉(xiāng)、大屯鄉(xiāng)、王道寨鄉(xiāng)、薛吳村鄉(xiāng)。
2010年第六次人口普查,南宮市常住總?cè)丝?69030人,其中:鳳崗街道74821人,南杜街道10816人,北胡街道20340人,西丁街道11097人,蘇村鎮(zhèn)22061人,大高村鎮(zhèn)21344人,垂楊鎮(zhèn)41567人,明化鎮(zhèn)33787人,段蘆頭鎮(zhèn)53364人,紫冢鎮(zhèn)42196人,大村鄉(xiāng)24468人,南便村鄉(xiāng)30395人,大屯鄉(xiāng)22557人,王道寨鄉(xiāng)25377人,薛吳村鄉(xiāng)34840人。