元、明時期,為彝族盧鹿部土目住地,留有衙院、官寨地名。
清初時期,劃歸黔西州黔興里,官方在楊柳、官莊設塘。
民國初期,劃歸黔西縣東一區。
民國十六年(1927年),置甘棠鎮和砂壩鄉。
民國二十一年(1932年),甘棠鎮并入砂壩鄉。
民國三十年(1941年),砂壩鄉并入永燊鄉。
1953年5月,置甘棠、三角、禮賢、砂河、龍寨5鄉。
1955年6月,龍寨鄉并入甘棠鄉。
1958年9月,各鄉改農村公社。
1984年5月,公社改鄉。
1991年7月,三角、禮賢、新田3鄉并入甘棠鄉。
2011年12月,設立甘棠鎮。