梁元帝时，萧庄只有七岁，逃匿于民家之中；之后被王琳发现，将萧庄护送回建康。梁敬帝萧方智即帝位之后，将萧庄作为人质送往北齐。557年，陈霸先废萧方智即帝位后，王琳等人要求北齐送还萧庄，并使其接替南梁皇帝；萧庄回到南朝之后，王琳立萧庄为梁皇帝于郢州，据有长江中上游地区，是为东梁。之后萧庄的南梁与陈霸先的陈朝便持续交战，560年，当王琳与陈朝的侯瑱在芜湖交战时，北周便发兵攻打郢州，结果王琳兵败，与萧庄逃亡北齐。萧庄被封为侯，又封梁王。北齐允诺帮他复兴梁朝，但没能实现。齐后主高纬灭亡后，萧庄在邺城闭气自杀。