该乡系1953年区划调整时,由原八区划出西部的薛庄、土山、大埠、庙山、前林、马站、高赵、桃园、墩上、海沿等10个乡和原属二区的新城乡所组成,时称九区,驻地宋庄。
1958年,为大埠人民公社,驻地仍旧。
1960年,驻地迁至马站。
1962年,改称大埠区。
1971年,复改区称公社,以驻地更名为马站公社。
1975年,将北部的14个大队、12个自然村和南部的7个大队、7个自然村,分别划归沙墩、小埠公社,时辖44个大队(含201个生产队),共33个自然村。
因与本地区沂水县马站公社重名,根据国务院更名命名暂行规定,1981年10月26日经省人民政府批准,以社境内的自然地理实体庙山更名为庙山公社。
1984年4月,实行政社分开,改建为庙山乡。
1995年12月,撤乡设镇。