唐、宋時屬仁壽鄉。
明、清時屬五十六、五十七都,1928年設南馬鎮。
1949年仍稱南馬鎮。
1950年5月分拆成葛府鄉、南山鄉、華西鄉。
1956年3月3鄉合并改稱南馬鄉。
1958年9月更名為南馬人民公社南馬管理區。
1961年9月改稱南馬人民公社管理委員會。
1983年8月復稱南馬鄉。
1985年5月3日重稱南馬鎮,1992年5月明德鄉、大陽鄉并入。
1995年1月25日金宅、桐塢、荷葉塘、東里塘、后大路、后溪頭、雙白、街于頭8個村劃歸橫店鎮。
2003年10月8日防軍鎮并入。
2007年12月1日,柏塔、官橋、仁棠、路西、荷西澤、中興聯6個村劃歸橫店鎮代管。
2017年3月,南新村分設為南新、南城兩村;下安恬村分設下安恬、西瑤兩村。
2017年8月,南市街道環龍、柳塘、渼陂下3村劃歸南馬鎮管轄;同年南城、西瑤、環龍、柳塘、渼陂下五村并入南馬鎮花園村。