瀘水西漢屬益州郡的比蘇縣。東漢、西晉、東晉屬永昌郡。唐南詔時屬永昌節度。宋大理國時屬騰沖府金齒郡。元屬金齒等處宣撫司。明置鎮邊安撫司及楊塘安撫司。明末清初置老窩、登埂、卯照、魯掌、六庫五土司,分屬大理府的云龍縣及永昌府的保山縣,其中六庫、老窩土司屬大理府云龍縣,登埂、卯照、魯掌土司隸屬永昌府保山縣。清置魯掌、登埂、卯照三土千總屬保山縣,六庫、老窩兩土千總屬云龍縣。民國三年(1914年)設瀘水行政委,民國二十一年(1932年)設瀘水設治局,各土司分別劃為設治局下的區,后改鎮,并保留土司制度,實行司、鎮(區)合署的統治體制。
1950年1月13日瀘水和平解放成立瀘水人民臨時政務委員會。同年6月1日仍設瀘水設治局。1951年2月成立瀘水縣人民政府,隸屬保山專區。1954年成立怒江傈僳族自治區,瀘水改隸怒江區。1954年6月保山縣上江區(鄉)劃歸瀘水縣,1957年成立怒江傈僳族自治州隸屬至今。1961年6月4日,根據《中緬友好和互不侵犯條約》和《中緬邊界條約》的規定,中國政府正式收回片馬,成立片古崗特區,隸屬麗江專區,1966年9月劃屬瀘水縣,成立片馬鄉。1978年11月云龍縣老窩公社(老窩白族鄉)劃歸瀘水縣。1986年碧江縣建制撤消,其地北部架科底區、子里卡區、匹河區并入北邊的福貢縣,南部古登區、洛本區并入瀘水縣。
1996年,瀘水縣面積2938平方千米,人口約15萬人。轄3個鎮、6個鄉(其中2個民族鄉):魯掌鎮、六庫鎮、片馬鎮、洛本卓白族鄉、古登鄉、稱桿鄉、大興地鄉、老窩白族鄉、上江鄉?h政府駐魯掌鎮。
2000年第五次人口普查,瀘水縣常住總人口171974人,其中:魯掌鎮12028人、六庫鎮46408人、片馬鎮22429人、上江鄉22066人、老窩白族鄉14174人、大興地鄉15102人、稱桿鄉16758人、古登鄉13657人、洛本卓白族鄉9352人。
2004年1月5日,民政部批準(民函[2004]1號):將瀘水縣人民政府駐地由魯掌鎮遷至六庫鎮。
2006年,瀘水縣面積2938平方千米,人口18.23萬人。轄3個鎮、6個鄉(其中2個民族鄉):六庫鎮、魯掌鎮、片馬鎮、上江鄉、老窩白族鄉、大興地鄉、稱桿鄉、古登鄉、洛本卓白族鄉。共有4個居委會、71個行政村。
2010年第六次人口普查,瀘水縣常住總人口184835人,其中:六庫鎮63013人,魯掌鎮12375人,片馬鎮3246人,上江鄉27525人,老窩鄉14007人,大興地鄉16245人,稱桿鄉19012人,古登鄉15783人,洛本卓鄉13629人,福貢縣98616人,上帕鎮30129人,匹河鄉10434人,子里甲鄉10513人,架科底鄉13414人,鹿馬登鄉13895人,石月亮鄉11533人,馬吉鄉8698人。
2012年,大興地鄉、老窩白族鄉、上江鄉撤鄉設鎮。調整后,全縣轄6個鎮、3個鄉(其中1個民族鄉):六庫鎮、魯掌鎮、片馬鎮、上江鎮、老窩鎮、大興地鎮、稱桿鄉、古登鄉、洛本卓白族鄉?h政府駐六庫鎮。2014年,魯掌鎮被列為全國重點鎮。