본래 백제의 미동부리현(未冬夫里縣, 또는 未多夫里)이었는데, 670년(문무왕 10) 이후 신라에 점령된 뒤 미동부리정(未冬夫里停)이 설치되었다. 757년(경덕왕 16) 현웅(玄雄)으로 고치고 무주(武州)의 영현(領縣)으로 하였다.
940년(태조 23) 남평(南平, 또는 永平)으로 고치고 나주목에 속하였다가 1172년(명종 2) 감무관(監務官)으로 독립 고을이 되었다. 1390년(공양왕 2) 수령(守令)이 폐지되고 화순현에 겸관(兼官)으로 편입되었다.
1394년(태조 3) 다시 감무를 두었고, 1413년(태종 13) 감무가 현감(縣監)으로 바뀌었다. 1415년 철야현(鐵冶縣)ㆍ도민부곡(道民部曲)ㆍ운곡소(雲谷所) 등이 임내(任內)로 편입되고 이들은 뒤에 직촌(直村)이 되었다.
1895년(고종 32) 나주부 남평군, 1896년 전라남도 남평군이 되었으며, 1914년 행정구역 개편에 따라 나주군에 병합되어 남평면이 되었다가 1995년 나주시와 나주군이 통합되면서 읍으로 승격되었다.
유적으로는 관내에 광리(光利)ㆍ오림(烏林)역이 있었고, 읍 남쪽에는 신라미동부리정 때의 읍성으로 둘레가 5리나 되는 성산고성(城山古城)이 있었으며, 철야현에서는 838년(민애왕 1) 왕군과 김우징(金祐徵)을 지원하는 청해진(靑海鎭) 군대 사이에 격전이 벌여졌었다.