清朝末年为费县接舆、东柳、马山三个社所辖。
1945年,为费县二区。
1947年,西部为费县崮口区(九区)。
1948年10月,东部为费县马庄区(二区),将东单、九庄划属临沂县,同时将临沂县的沂艾庄、许家庄、刘庄、西单和万家庄、墩西庄的半个庄划属费县马庄区。
1956年,九区撤销时将尚庄、宋庄、莲花、崮口四个乡划归二区。
1958年春,撤区改为刘庄、马庄、尚庄三个乡,同年秋,成立三个公社,同年冬,合并为马庄公社,紧接着改为马庄区。
1971年6月,又改为马庄人民公社。
1976年3月,将城子、刘庄两个管理区的24个大队划属新置的刘庄公社,同年新庄公社的陈家围子大队划属该社,将小安子大队划属新庄公社。
1985年9月,改为马庄镇。
2011年8月,撤芍药山乡,整体并入马庄镇,境域始成现状。