民國二十二年(1933年),設鎮(zhèn)江、登排等鄉(xiāng),屬都安縣;次年,劃歸平治縣(以紅水河為界)。
1950年7月,設古文區(qū),屬平治縣;次年10月,為平果縣第八區(qū),后稱百馬區(qū)。
1955年12月,百馬區(qū)劃歸都安瑤族自治縣。
1958年8月,百馬區(qū)與都陽、江南合置紅陽公社。
1959年7月,分設百馬公社。
1962年8月,百馬公社改區(qū),后復為公社。
1984年11月,百馬公社改鄉(xiāng)。
1988年2月,百馬鄉(xiāng)劃歸大化瑤族自治縣。