元代時期,屬播州宣慰司。
明、清時期,屬清平縣。
民國二年(1913年),為爐山縣第二區(qū)第二分區(qū)。
民國二十一年(1932年),置凱棠鎮(zhèn)和白巖、黃泥、凱旋、凱哨等4鄉(xiāng)。
民國二十五年(1936年),撤鄉(xiāng)鎮(zhèn),改為凱棠聯(lián)保。
民國三十年(1941年),撤聯(lián)保,置凱棠鄉(xiāng)。
1953年,凱棠鄉(xiāng)析為凱棠、凱哨、白水洞、南開4鄉(xiāng)。
1958年,設前進公;同年12月,實行一區(qū)一社,屬旁海公社。
1961年,撤一區(qū)一社,置凱棠公社和白水洞公社。
1966年,白水洞公社并入凱棠公社。
1984年5月,凱棠公社改鄉(xiāng)。
1992年1月,建鎮(zhèn)并鄉(xiāng)撤區(qū),凱棠鄉(xiāng)保留,所轄區(qū)域不變。
2016年1月29日,撤銷凱棠鄉(xiāng)建制,設凱棠鎮(zhèn)。