唐貞觀十六年(642年)置夜郎縣,后廢。宋置播川縣。明萬歷二十九年(1601年)置桐梓縣,因桐梓驛為名,屬遵義府。
1992年末,全縣有18個民族,共137577戶、575207人。轄16個鎮、8個鄉(其中1個民族鄉):婁山關鎮、燎原鎮、官倉鎮、高橋鎮、花秋鎮、九壩鎮、楚米鎮、大河鎮、新站鎮、夜郎鎮、松坎鎮、木瓜鎮、羊磴鎮、坡渡鎮、水壩塘鎮、獅溪鎮、芭蕉鄉、黃連鄉、小水鄉、天坪鄉、容光鄉、風水鄉、茅石鄉、馬鬃苗族鄉。共有19個居委會、503個行政村。縣政府駐婁山關鎮。
2000年第五次人口普查,桐梓縣總人口575580人,其中:婁山關鎮97092人,楚米鎮22882人,新站鎮24782人,松坎鎮18455人,高橋鎮25995人,水壩塘鎮22270人,官倉鎮32325人,花秋鎮45483人,羊磴鎮20509人,九壩鎮27922人,大河鎮9899人,夜郎鎮20459人,木瓜鎮24105人,坡渡鎮20965人,燎原鎮18650人,獅溪鎮34256人,茅石鄉13210人,風水鄉20998人,容光鄉17747人,小水鄉10865人,天坪鄉23033人,黃蓮鄉5827人,芭蕉鄉11354人,馬鬃苗族鄉6497人。
2003年末,桐梓縣總人口65.98萬人,其中少數民族0.66萬人;非農業人口12.31萬人。轄16個鎮、8個鄉(其中1個民族鄉),228個村委會、23個(社區)居委會。
2007年末,全縣總面積3202平方千米,總人口67.33萬人,轄16個鎮、8個鄉(其中1個民族鄉),226個行政村。
2010年第六次人口普查,桐梓縣常住總人口521840人,其中:婁山關鎮137405人,楚米鎮21807人,新站鎮19636人,松坎鎮15745人,高橋鎮19901人,水壩塘鎮16494人,官倉鎮25965人,花秋鎮35964人,羊磴鎮15125人,九壩鎮24052人,大河鎮8015人,夜郎鎮15334人,木瓜鎮20681人,坡渡鎮15887人,燎原鎮19081人,獅溪鎮25151人,茅石鄉11958人,風水鄉15335人,容光鄉13173人,小水鄉8419人,天坪鄉17043人,黃蓮鄉5933人,芭蕉鄉8006人,馬鬃苗族鄉5730人。2010年末,桐梓縣常住人口52.23萬人。
2011年末,桐梓縣面積3202平方千米,常住人口51.68萬人,戶籍人口71.01萬人。轄16個鎮、8個鄉(其中1個民族鄉):婁山關鎮、楚米鎮、新站鎮、松坎鎮、高橋鎮、水壩塘鎮、官倉鎮、花秋鎮、羊磴鎮、九壩鎮、大河鎮、夜郎鎮、木瓜鎮、坡渡鎮、燎原鎮、獅溪鎮、茅石鄉、風水鄉、容光鄉、小水鄉、天坪鄉、黃連鄉、芭蕉鄉、馬鬃苗族鄉。共有10個社區、222個行政村。
2012年,撤銷茅石鄉,設置茅石鎮,駐茅壩村(黔府函[2012]107號);撤銷天坪鄉,設置堯龍山鎮,駐堯龍山村(黔府函[2012]108號)。調整后,全縣轄18個鎮、6個鄉(其中1個民族鄉)。