中庶子，为侍中。为父亲服丧丁忧辞职。服丧结束，再任侍中。兼射声校尉、冠军将军、东阳郡太守。在郡有善政，转任吴兴郡太守。齐明帝褒美王莹，召还他为太子詹事。永元元年（499年）九月，转任中领军。当时南齐国政由群小把持，王莹守职而已，不能有所是非。王莹从弟王亮推荐他担任尚书左仆射，永元二年（500年）三月，护军崔慧景在京口奉江夏王萧宝玄攻打建康。王莹受假节，率军在湖头抵抗崔慧景。崔慧景夜袭，王莹军败逃散。王莹从水上逃脱，回到台城。崔慧景被萧懿击败，王莹回朝任职领军府。四月，任尚书右仆射。萧衍起兵，王莹再受假节