明嘉靖四十四年(1565年),蔡伯贯组织白莲教在万古场起兵,定都万古场。
清前期,属福元里。
清宣统元年(1909年),重置万古镇(置万古场),析置大堡乡、雍溪乡。
民国元年(1912年),万古镇析置协和乡、兴隆乡。
民国十九年(1930年),为第三区。
民国二十四年(1935年),为联保区,设万古为第三联保区。
民国三十一年(1942年),改万古为第二区。
1949年,改万古为第六区。
1950年,万古镇属第六区(治万古镇)。
1952年,划出回龙仍设第六区。
1953年2月,改为万古镇。
1956年9月,万古镇改为万古乡,中心乡并入,次年以街村为镇。
1993年12月,撤万古乡设万古镇,高峰乡、新石乡、石牛乡并入万古镇。