南华县原名镇南,取镇抚南邦之意。1954年更名为“南华县”,意为“西南美丽的地方”。西汉为益州郡地,东汉属益州益州郡,三国蜀汉为益州云南郡地。西晋为宁州云南郡,东晋至南朝梁为宁州兴宁郡地,北朝州周属南宁州。隋属南宁州总管府。唐初置丘州,初属戎州都督府,后属姚州都督府。唐南诏国于沙却置俗富郡,属弄栋节度。宋大理国为石鼓赕沙却,属威楚府。
元宪宗七年(1257)设欠舍千户;至元十二年(1275)改为镇南州,治今沙桥镇,属威楚路,并置定边、石鼓2县属镇南州。至元二十四年(1287),定边、石鼓省入镇南州为乡。明沿为镇南州,迁治今龙川镇,属楚雄府。清初沿明制,为镇南州,隶楚雄府;雍正八年(1730)7月,楚雄府属迤西道(治大理府)。民国2年(1913)4月,迤西道改为滇西道,镇南州改为镇南县,属滇西道;民国3年(1914)6月,改滇西道为腾越道(驻腾冲县),镇南县属之。民国十八年(1929),废腾越道,姚安县直属省。民国35年(1946),属第八行政督察区(驻姚安县)。
1950年镇南县属楚雄专区。1954年6月30日,政务院批准:镇南县更名为南华县。1957年10月18日,国务院批准全体会议第58次会议决定:设置楚雄彝族自治州,南华县属楚雄州(楚雄彝族自治州1958年4月15日正式成立)。1960年9月13日,国务院全体会议第103次会议通过:撤销南华县,将原南华县的行政区域并归楚雄县(1958年10月20日撤并)。1962年3月27日国务院全体会议第115次会议决定:恢复南华县,以合并于楚雄县的原南华县行政区域为南华县的行政区域(1961年3月分置)。
1996年,南华县面积2343平方千米,人口约22万人,其中彝族占33%。辖2个镇、10个乡:龙川镇、沙桥镇、天申堂乡、徐营乡、雨露白族乡、五街乡、一街乡、罗武庄乡、红土坡乡、五顶山乡、马街乡、兔街乡。县政府驻龙川镇。
2000年第五次人口普查,南华县常住总人口227970人,其中:龙川镇58791人,沙桥镇22922人,徐营乡20442人,雨露乡13704人,天申堂乡9604人,五街乡16742人,一街乡18958人,罗武庄乡11828人,红士坡乡13153人,五顶山乡10158人,马街乡17860人,兔街乡13808人。
?年,徐营乡、红土坡乡撤乡设镇。2001年末,南华县总人口229964人,其中农业人口211295人,少数民族人口87644人。全县辖4个镇、7个乡、1个民族乡:龙川镇、沙桥镇、红土坡镇、徐营镇、五街乡、马街镇、兔街镇、一街乡、天申堂乡、罗武庄乡、五顶山乡、雨露白族乡。共有130个行政村,1481个村民小组。
2002年,五街乡撤乡设镇(省政府2002年7月5日批准);马街乡、兔街乡分别撤乡,设立马街镇、兔街镇(省政府2002年7月18日批准)。2004年,南华县撤销了4个行政村(撤销徐营镇古苴行政村,并入柿子树行政村;撤销沙桥镇雾露行政村,并入石星行政村;撤销红土坡镇咪拉山行政村,并入大德郎行政村;撤销五顶山乡阿鸟行政村,分别并入王家行政村和柳德行政村)。
2004年末,全县国土面积2343平方千米,总户数58655户、总人口233270人,其中农业人口214036人,非农业人口19234人。全县少数民族人口89742人,占总人口的38.47%。其中,彝族78874人,占总人口的33.81%;白族8365人,占总人口的3.59%;回族2147人,占总人口的0.92%。辖7个镇、5个乡:龙川镇、徐营镇、沙桥镇、五街镇、红土坡镇、马街镇、兔街镇、雨露乡、天申堂乡、一街乡、罗武庄乡、五顶山乡。下设128个行政村,5个居委会;1488个村民小组。
2005年12月12日,云南省政府批准同意南华县撤销徐营镇,其行政区域并入龙川镇,镇政府驻地不变;撤销天申堂乡,其行政区域并入沙桥镇,镇政府驻地不变。
2006年,南华县总面积2343平方千米。总人口约23.7万人。辖6个镇、4个乡(其中1个民族乡):龙川镇、沙桥镇、五街镇、红士坡镇、马街镇、兔街镇、雨露白族乡、一街乡、罗武庄乡、五顶山乡。共有5个居委会、123个行政村。县政府驻龙川镇。
2010年第六次人口普查,南华县常住总人口236133人,其中:龙川镇86060人,沙桥镇31810人,五街镇18018人,红土坡镇12457人,马街镇18491人,兔街镇13552人,雨露白族自治乡14176人,一街乡19445人,罗武庄乡12160人,五顶山乡9964人。