清時屬崇政鄉。
1929年屬北港鎮五十都。
1941年屬水頭區。
1949年屬南雁區曉坑鄉。
1950年從曉坑鄉分出成立懷溪鄉,屬山門區。
1952年劃金山等8個村設懷溪鄉,劃南山等9個村建曹門鄉;曉坑鄉又分出洪山鄉。
1956年曹門鄉并入懷溪鄉,洪山鄉并入曉坑鄉。
1958年分別為山門公社懷溪、曉坑、曉陽大隊(管理區)。
1961年建立懷溪、曉坑、曉陽公社,隸山門區。
1983年曉坑公社改為鄉;1984年懷溪、曉陽公社改為鄉,隸屬不變。
1992年曉陽鄉并入曉坑鄉。
2011年曉坑、懷溪2個鄉并入山門鎮。
2016年曉坑、懷溪社區從山門鎮劃出,成立懷溪鎮。