南朝梁时,属难江县,县治驻此。
西魏恭帝时期,属盘道县。
明朝时,属南江县。
清朝时,置八庙垭场,属崇清乡。
民国初年,属第六区。
川陕苏区时期,设八庙区,为区署治所,属南江苏维埃。
民国二十四年(1935年)夏,设联保街道办事处,属第二区。
民国二十九年(1940年),联保并入赤沙乡。
1950年10月,析赤沙乡置八庙乡,属第二区。
1955年8月,第二区更名沙河区,八庙乡属之。
1958年9月,八庙乡改为八庙公社。
1966年12月,八庙公社更名八路公社。
1973年8月,八路公社更名八庙公社。
1984年3月,由八庙公社改为八庙乡。
2016年,由八庙乡改为八庙镇。
2019年12月,撤销燕山乡,划归八庙镇管辖。