清世宗雍正十二年(1734)起,屬沂州府重鎮(zhèn),并設有驛站。
1938年前,為沂水縣九區(qū)。
1940年,劃歸沂南縣。
1956年,劃歸蒙陰縣為垛莊區(qū)。
1958年春,分為界牌、崖子、垛莊三個鄉(xiāng),同年10月,與界牌鄉(xiāng)合并組成孟良崮人民公社(以孟良崮山得名),11月,改為垛莊人民公社。
1962年,與界牌分設人民公社。
1963年,為垛莊區(qū)。
1971年,又為垛莊人民公社。
1985年9月,改為垛莊鎮(zhèn)。
2011年8月,與界牌鎮(zhèn)合并組成垛莊鎮(zhèn)至今。