因镇人民政府驻地由上庄、下庄组成,统称庄上,故此得名。
柳林县辖乡。1958年建庄上公社,1984年改乡。距县城6.5公里。面积31.7平方公里,人口0.7万。柳石公路过境。辖庄上、陈家墕、前垣庄、山头、后垣庄、张家湾、曹家山、前家岭、南社、双枣圪垯、梨树窊、、傅家墕、张家垣13个村委会。煤炭储量丰富。乡镇企业产品以原煤、焦炭为主。农业主产高粱、玉米、谷子。
历史沿革:1958-1962年公社化时,为中阳县庄上公社。
1962-1971年仍为中阳县庄上公社。
1971组建柳林县后改为柳林县庄上公社。
1984实行乡镇村制,庄上公社改为庄上乡。
2000年12月乡镇撤并,庄上乡和杨家峪合并改为庄上镇至今。