王世充是西域胡人,祖父死后父亲跟随母亲改嫁到长安附近的霸城县王家,改姓王。他自幼喜好经史和兵法,公元258年因军功升至兵部员外郎、江都宫监,受到隋炀帝信任,参与平定杨玄感之乱以及河南、山东一带民变,为以后当上洛阳王奠定基础。
公元616年升任江都通守,剿灭不少农民起义军,后到南阳击破卢明月,功劳薄上,王世充功绩最大。
公元617年王世充前去镇压瓦岗军,得到杨广的同意,招募一万多淮南新兵,收拢各方军马十几万,向洛阳进军,结果大败。隋炀帝的嫡孙、越王杨侗让他驻守在洛阳嘉仓城,保护隋军粮仓。
公元618年炀帝在江都被杀,他与元文都、卢楚等在洛阳立杨侗为帝,被封为郑国公,大败李密的瓦岗军。程咬金、罗士信、秦琼等瓦岗英雄投靠了王世充,李密带领大部分人投靠李渊。
公元619年王世充废杨侗,自立称帝,国号郑,人称洛阳王。
公元621年李世民攻破洛阳,王世充被流放蜀地,途中被仇人所杀。