因沅江而得名,取威鎮沅江之意。一說,鎮沅為傣語“正也”轉音,意為“糧倉小城”。 西漢屬哀牢,東漢至三國蜀漢隸益州永昌郡。兩晉南北朝屬寧州永昌郡。隋為濮部。唐南詔時為銀生節度屬柳追和城地。宋大理國屬威楚府,大理國后期屬蒙舍鎮統領。元中統三年(1262),屬威楚萬戶;至元十二年(1275)置開南州,屬威楚路;至順二年(1331)析開南州境置遠干州,屬景東軍民府。明洪武年間為麓川平緬宣慰司兼并;洪武三十五年(1402),置鎮沅直隸州,屬云南布政司。永樂四年(1406),改為鎮沅土知府,隸云南布政司。永樂十年(1412)于祿平寨置祿谷寨長官司,屬鎮沅府。
清初襲明制,稱鎮沅土府,轄祿谷長官司,屬云南省。雍正五年(1727),鎮沅土府改土歸流,為鎮沅府;裁祿谷長官司,并裁省屬者樂甸長官司,置恩樂縣屬鎮沅府。雍正八年(1730)7月,鎮沅府屬迤東道。雍正十三年(1735)10月,降威遠直隸廳為散廳屬之,析府屬之壩朗、壩木、壩癡等三寨地入元江府。乾隆三十一年(1766)10月,鎮沅府屬迤南道。乾隆三十五年(1770)2月,降為直隸州,析威遠廳屬普洱府,鎮沅直隸州屬迤南道。道光二十年(1840)6月,改直隸州為直隸廳,裁恩樂縣,徙廳治于舊恩樂縣址,屬迤南道。
民國2年(1913)4月,鎮源直隸廳改為鎮源縣,隸迤南道;同年,迤南道改為滇南道。民國3年(1914),滇南道改為普洱道,鎮源縣屬之。民國18年(1929),廢道后直屬于省。民國21年(1932)4月,鎮源縣屬云南第十二政務視察區。民國23年(1934)4月,鎮源縣屬第十五政務視察區,民國27年(1938)9月,鎮沅縣屬第十政務視察區;民國30年(1941)6月15日,鎮源縣屬云南省第一區行政督察專員公署(駐寧洱縣);民國31年(1942)7月,鎮源縣屬第四區行政督察專員公署(駐寧洱縣)。民國35年(1946)10月,鎮源縣屬第六區行政督察專員公署(駐新平縣)。
1949年8月,鎮源縣解放;9月10日,成立鎮源縣臨時人民政府籌備處。10月16日,成立鎮源縣臨時人民政府。1950年3月,經思普地委批準,正式成立鎮沅縣人民政府,隸屬寧洱專區。1951年4月2日,政務院批準:寧洱專區更名為普洱專區,鎮沅縣屬普洱專區。1953年3月28日,政務院批準:普洱專區更名為思茅專區,鎮沅縣屬思茅專區。1959年1月,鎮沅縣新撫公社(面積968平方千米)劃歸墨江縣。
1960年9月13日,國務院全體會議第103次會議通過:撤銷鎮沅縣,將原鎮沅縣的行政區域分別劃歸景谷、景東、墨江、新平4縣(1958年12月撤并)。1962年3月27日,國務院全體會議第115次會議決定:恢復鎮沅縣,以合并于景谷、景東2個縣的原鎮沅縣其行政區域為鎮沅縣的行政區域(1961年3月1日復置)。1970年,思茅專區改為思茅地區,鎮沅縣屬思茅地區。
1990年2月3日,民政部【民行批24號】批復:撤銷鎮沅縣,設立鎮沅彝族哈尼族拉祜族自治縣,以原鎮沅縣的行政區域為鎮沅彝族哈尼族拉祜族自治縣的行政區域。1993年11月17日,國務院批準:鎮沅彝族哈尼族拉祜族自治縣人民政府駐地由按板鎮遷至恩樂鎮。1998年2月28日,縣級機關正式遷至恩樂鎮。2003年10月30日,國務院批準(國函[2003]113號):撤銷思茅地區,設立地級思茅市,鎮沅縣屬地級思茅市。2007年,思茅市更名為普洱市,鎮沅縣屬地級普洱市。
1996年,全縣轄2個鎮、9個鄉:按板鎮、恩樂鎮、里崴鄉、者東鄉、九甲鄉、和平鄉、田壩鄉、古城鄉、振太鄉、勐大鄉、三章田鄉。縣政府駐按板鎮。
2000年第五次人口普查,鎮沅彝族哈尼族拉祜族自治縣常住總人口205709人,其中:恩樂鎮26010人,按板鎮21046人,田壩鄉11969人,古城鄉14447人,勐大鄉27121人,里崴鄉13830人,振太鄉34893人,三章田鄉10699人,九甲鄉15805人,者東鄉17923人,和平鄉11966人。
2001年,勐大鄉撤鄉設鎮(2002年實施)。調整后,全縣轄3個鎮、8個鄉:恩樂鎮、按板鎮、勐大鎮、田壩鄉、古城鄉、里崴鄉、振太鄉、和平鄉、三章田鄉、九甲鄉、者東鄉。
2003年末,全縣轄恩樂、按板、勐大3個鎮和振太、里崴、田壩、古城、三章田、九甲、者東、和平8個鄉,109個村委會和2個居委會。總人口20.43萬人,其中:非農業人口2.09萬人,占總人口的10.23%;少數民族人口10.58萬人,占總人口的51.8%;人口密度49.39人/平方千米。
2006年1月20日,省政府批準同意:撤銷三章田鄉和者東鄉,設立者東鎮,新設立的者東鎮管轄原者東鄉和三章田鄉管轄的行政區域范圍,鎮政府駐原者東鄉者東村委會文奴村;撤銷里崴鄉,其行政區域并入勐大鎮,鎮政府駐地不變。調整后,全縣轄4個鎮、5個鄉:恩樂鎮、按板鎮、勐大鎮、者東鎮、田壩鄉、古城鄉、九甲鄉、振太鄉、和平鄉。共有2個居委會、109個行政村。
2010年第六次人口普查,鎮沅彝族哈尼族拉祜族自治縣常住總人口208606人,其中:恩樂鎮33448人,按板鎮20810人,勐大鎮41343人,者東鎮29041人,田壩鄉8601人,古城鄉14720人,九甲鄉15579人,振太鄉33085人,和平鄉11979人。
2011年7月18日,云南省政府批準同意撤銷九甲鄉,設立九甲鎮。2012年12月28日,省政府(云政復[2012]86號)批復同意撤銷振太鄉、古城鄉、和平鄉,設立振太鎮、古城鎮、和平鎮。至此,全縣轄9個鎮、1個鄉:恩樂鎮、按板鎮、勐大鎮、者東鎮、九甲鎮、古城鎮、振太鎮、和平鎮、田壩鄉。