唐置萬安縣,清雍正八年(1730)置松桃直隸廳。據清《黔南識略》:“雍正八年……建城于松桃山下,移同知駐焉。……此松桃所由名也。”1913年改廳為縣,1956年改松桃苗族自治縣。一說“松桃”系苗語,意義待考。
1996年,松桃苗族自治縣轄13個鎮、15個鄉:蓼皋鎮、盤信鎮、孟溪鎮、大坪場鎮、普覺鎮、寨英鎮、大興鎮、牛郎鎮、迓駕鎮、長興堡鎮、甘龍鎮、烏羅鎮、盤石鎮、長坪鄉、大路鄉、妙隘鄉、冷水溪鄉、石梁鄉、永安鄉、瓦溪鄉、黃板鄉、木樹鄉、九江鄉、正大鄉、沙壩鄉、平頭鄉、大平營鄉。縣政府駐蓼皋鎮。
2000年第五次人口普查,松桃苗族自治縣總人口547488人,其中:蓼皋鎮47177人,盤石鎮16788人,盤信鎮26107人,大坪場鎮19218人,普覺鎮25781人,寨英鎮30262人,孟溪鎮25636人,烏羅鎮21242人,甘龍鎮24212人,長興堡鎮21348人,迓駕鎮18027人,大興鎮17031人,牛郎鎮15726人,九江鄉12295人,世昌鄉18800人,正大鄉19735人,長坪鄉12754人,太平營鄉18784人,平頭鄉18901人,大路鄉23472人,妙隘鄉14541人,冷水溪鄉19310人,石粱鄉11017人,瓦溪鄉8633人,永安鄉11120人,木樹鄉16057人,黃板鄉23709人,沙壩河鄉9805人。
2003年末,松桃苗族自治縣總人口64.14萬人,其中非農業人口3.27萬人。轄13個鎮、15個鄉:蓼皋鎮、盤石鎮、盤信鎮、大坪場鎮、普覺鎮、寨英鎮、孟溪鎮、烏羅鎮、甘龍鎮、長興堡鎮、迓駕鎮、大興鎮、牛郎鎮、九江鄉、世昌鄉、正大鄉、長坪鄉、太平營鄉、平頭鄉、大路鄉、妙隘鄉、冷水溪鄉、石梁鄉、瓦溪鄉、永安鄉、木樹鄉、黃板鄉、沙壩河鄉。共有509個行政村、24個居委會。縣政府駐蓼皋鎮。
2007年末,全縣總面積3400平方千米,總人口66.8萬人,其中非農業人口4.19萬人,少數民族人口占總人口的48%,轄13個鎮、15個鄉,503個行政村、21個居委會、4個社區。
2010年第六次人口普查,松桃苗族自治縣常住總人口486748人,其中:蓼皋鎮60929人,盤石鎮15642人,盤信鎮22394人,大坪場鎮16011人,普覺鎮20691人,寨英鎮28203人,孟溪鎮24919人,烏羅鎮19521人,甘龍鎮19211人,長興堡鎮18448人,迓駕鎮16072人,大興鎮15427人,牛郎鎮11382人,九江鄉10186人,世昌鄉18937人,正大鄉14772人,長坪鄉10322人,太平營鄉16887人,平頭鄉14359人,大路鄉18969人,妙隘鄉11806人,冷水溪鄉16181人,石梁鄉8301人,瓦溪鄉6912人,永安鄉8692人,木樹鄉13954人,黃板鄉20729人,沙壩河鄉6891人。2010年末,全縣常住人口48.72萬人。
2011年末,松桃苗族自治縣面積3400平方千米。常住人口48.49萬人;戶籍人口71.09萬人,其中少數民族34.12萬人,非農業人口5.15萬人。轄13個鎮、15個鄉,7個社區、508個行政村。
2013年5月24日,省政府(黔府函[2013]114號)批復同意撤銷大興鎮,設立大興街道,辦事處駐大興社區。調整后,全縣轄1個街道、12個鎮、15個鄉。