古為南野地,南唐保大十一年(953年)置龍南縣。以縣城處百丈龍灘和龍頭山之南得名。據《龍南縣志》:因縣境北有龍頭山,縣城在山之南,故名。另據《郡縣釋名》:以縣位居百丈龍潭之南,定名龍南。
北宋宣和三年(1121)改名虔南縣,元至元二十四年(1287)省入信豐縣。元至大三年(1310)復置龍南縣。
1989年11月23日,撤銷武當鄉,設立武當鎮(贛民字[1989]149號批復)。1992年7月27日,撤銷楊村鄉、程龍鄉、汶龍鄉、玉巖鄉,設立楊村鎮、程龍鎮、汶龍鎮、馬牯塘鎮(贛民字[1992]136號批復)。1996年3月19日,撤銷里仁鄉、東坑鄉、關西鄉,設立里仁鎮、東坑鎮、關西鎮(贛民字[1996]53號批復)。
1997年,全縣面積1640.6平方千米,人口27.9萬,轄9個鎮、7個鄉:龍南鎮、楊村鎮、武當鎮、汶龍鎮、程龍鎮、馬牯塘鎮、東坑鎮、里仁鎮、關西鎮、桃江鄉、渡江鄉、黃沙鄉、東江鄉、臨塘鄉、夾湖鄉、南亨鄉?h政府駐龍南鎮。2000年5月8日,撤銷渡江鄉,設立渡江鎮(贛民字[2000]104號批復)。至此全縣轄10個鎮、6個鄉。
2000年第五次人口普查,全縣總人口283514人;其中:龍南鎮41710人、武當鎮12524人、馬牯塘鎮37954人、楊村鎮48339人、汶龍鎮16697人、程龍鎮9283人、關西鎮6461人、里仁鎮11516人、東坑鎮6948人、渡江鎮20098人、桃江鄉16331人、黃沙鄉4494人、東江鄉10145人、臨塘鄉16410人、南亨鄉13083人、夾湖鄉11521人。
2000年12月8日,撤銷馬轱塘鎮,劃歸龍南鎮(贛民字[2000]370號批復)。2003年10月21日,撤銷黃沙鄉,成建制劃歸龍南鎮管轄;撤銷東坑鎮,成建制劃歸里仁鎮管轄(贛民字[2003]272號批復)。
2002年底,龍南縣轄9個鎮、6個鄉,8個居委會、117個行政村。2003年底,全縣總人口29.9萬人。