歷史上曾屬牂牁夜郎領地,明置安莊衛,清并入鎮寧州。民國2年(1913)設鎮寧縣。1963年改鎮寧布依族苗族自治縣。
1996年,鎮寧布依族苗族自治縣面積1720平方千米,人31.5萬,轄4個鎮、12個鄉:城關鎮、丁旗鎮、江龍鎮、黃果樹鎮、六馬鄉、大山鄉、募役鄉、馬廠鄉、沙子鄉、朵卜隴鄉、本寨鄉、革利鄉、打幫鄉、良田鄉、簡嘎鄉、扁擔山鄉。縣政府駐城關鎮。
2000年第五次人口普查,鎮寧布依族苗族自治縣常住總人口308569人,其中:城關鎮67215人,丁旗鎮33125人,黃果樹鎮17218人,江龍鎮18638人,大山鄉19741人,扁擔山鄉12490人,募役鄉14884人,馬廠鄉20506人,沙子鄉12198人,朵卜隴鄉11162人,革利鄉13752人,本寨鄉16045人,六馬鄉17138人,良田鄉16927人,簡嘎鄉9875人,打幫鄉7655人。
2003年末,鎮寧布依族苗族自治縣總人口34.78萬人,其中非農業人口3.07萬人;少數民族人口20.38萬人,占58.61%。轄4個鎮、12個鄉,365個村民委會,7個居委會。
2007年末,鎮寧布依族苗族自治縣面積1718平方千米,總人口35.75萬人,其中少數民族人口20.99萬人。轄4個鎮、12個鄉,4個社區、2個居委會、365個行政村,1753個村(居)民組。
2010年第六次人口普查,鎮寧布依族苗族自治縣常住總人口284063人,其中:城關鎮81257人,丁旗鎮29397人,黃果樹鎮15069人,江龍鎮18088人,大山鄉18330人,扁擔山鄉10183人,募役鄉12100人,馬廠鄉17143人,沙子鄉9194人,朵卜隴鄉8562人,革利鄉10301人,本寨鄉13036人,六馬鄉12432人,良田鄉14839人,簡嘎鄉7988人,打幫鄉6144人。2010年末,全縣常住人口28.41萬人。
2011年末,鎮寧布依族苗族自治縣面積1713.3平方千米,常住人口28.15萬人,戶籍人口384234萬人,其中少數民族人口205834人,占53.57%。轄3個鎮、12個鄉,4個社區、2個居委會、365個行政村,1750個村(居)組。
2012年,省政府批復同意:撤銷馬廠鄉,設置馬廠鎮,鎮政府駐馬廠村(黔府函[2012]259號);撤銷大山鄉,設置大山鎮,鎮政府駐大山哨村(黔府函[2012]260號);撤銷六馬鄉,設置六馬鎮,鎮政府駐板樂村(黔府函[2012]303號);撤銷良田鄉,設置良田鎮,鎮政府駐良田村(黔府函[2012]304號)。
全縣現轄8個鎮、8個鄉:城關鎮、丁旗鎮、黃果樹鎮、江龍鎮、馬廠鎮、大山鎮、六馬鎮、良田鎮、扁擔山鄉、募役鄉、沙子鄉、朵卜隴鄉、革利鄉、本寨鄉、簡嘎鄉、打幫鄉。其中,黃果樹鎮委托黃果樹風景名勝區管理。縣政府駐城關鎮。