清代属榆林县镇城和保宁堡口外地域。
1949年6月前,属河西乡。
1949年6月后,隶属榆林县河西区,曾设可可盖、补兔寨乡。
1950年,设马合区、八区、十一区。
1958年9月,撤区改设马合公社。
1960年1月,并入马合农场。
1969年1月,复设马合公社。
1984年7月,改设为乡。
同年9月,划出可可盖、昌汗峁、脑冒海则等7个行政村,设可可盖乡。
1997年11月,改设马合镇。
2002年5月,可可盖乡脑冒海则村并入。