王世充字行满,祖先是西域胡人。祖父支颓褥,迁居新丰。支颓褥死后,其妻年轻守寡,和仪同王粲私通,生子名曰琼,王粲就把她娶作小妾。王世充的父亲收自幼丧父,随母嫁到王粲家,王粲喜爱他而收养了他。因而随姓王。官至怀、汴二州长史。

  王世充头发卷曲,声似豺狼,性好猜疑,诡计多端,读了许多经史,特别喜爱兵法,通晓占卜星相盈虚之术,然而却不曾为人指点过。隋文帝开皇年间,任左翊卫,后来又因军功任仪同,授予兵部员外郎之职。善于敷陈奏进,熟悉法度律令,舞弄笔墨文章,高低上下存于心中。或有驳论辩难的人,王世充快牙利口,文过饰非,文词犀利,众人虽然知道王世充不对,却又没有人能够让他屈服,都称他能言善辩。

  隋炀帝时,逐步升迁至江都郡丞。当时,炀帝多次巡幸江都,王世充善于体察君主的脸色,阿谀逢迎,顺从旨意,每次入宫说事情,炀帝都善待他。又以郡丞之职兼领江都宫监,于是就雕刻文饰池塘台榭,秘密进奉远方的珍奇物品,以取悦予炀帝,因此,炀帝更加宠信他。大业八年(612),隋朝天下开始出现动乱,王世充内怀侥亻幸之心,屈己礼士,私下结交英雄豪杰,广泛收买人心。江淮之间的百姓素来轻薄,又逢盗贼四起之时,违犯法纪的人很多,有的人下狱抵罪,王世充违背法纪把他们放出来,树立个人的恩义。

  杨玄感造反的时候,吴地人朱燮、晋陵人管崇在江南起兵响应,自称将军,拥兵十多万。炀帝派遣将军吐万绪、鱼俱罗讨伐,不能取得胜利。王世充在江都招募一万多人,打击叛军,多有胜利。每次取得胜利,一定归功于部下,获得的军粮财物,都分给士兵,自己分文不取。因此,人们都争相为他所用,取得的功劳最多。

  大业十年(614),齐郡贼兵元帅孟讠襄自长白山而下侵犯掳掠诸郡,到了盱眙,已有十多万人。王世充率兵迎战,用老弱残兵向敌兵示弱,依据都梁山结为五座营寨,与敌相持而不交战。后来,利用敌兵松懈,出兵奋然进击,大破敌军,乘胜将众贼兵消灭殆尽,孟讠襄带着几十名骑兵逃跑了,斩首一万人,各种牲畜和军用物品,都全部缴获。炀帝因王世充有将帅的才能和谋略,才开始派遣他统领军队,讨伐各处小伙盗贼,所向必胜。然而,王世充生性多矫饰虚伪,假装行善,能够自我辛劳吃苦,用来博取好名声。大业十一年(615),突厥兵将炀帝围困在雁门关,王世充出动江都的全部兵马,往赴国难。在军营中,王世充满面污垢,悲痛流涕,昼夜不解甲胄,依草而坐。炀帝听说这些,认为王世充爱戴自己,更加信任他。

  大业十二年(616),王世充升任江都通守。当时,厌次人格谦已是多年为强盗,拥兵十多万,驻扎在豆子..中。王世充打败格谦军,将格谦斩首,威势震动众盗贼。又进击卢明月,大败卢明月于南阳。后来回到江都,炀帝非常高兴,亲自端着一杯酒赐给王世充。这时,王世充又得知炀帝喜好女色,就进言说江淮善良之家有很多美女,都愿意进入后宫,只是没有缘由自我进献。炀帝更加高兴,于是私下命令王世充仔细观察各位女子,端庄秀丽合乎容貌标准的,就拿正库里的财物支付入京所需之物,用以聘纳这些女子。所用的钱财无法计算,帐面上所说是敕令另有用途,不记录其实际数目。有中意的女子,炀帝就对王世充重加赏赐,有的不中意,也给予赏赐。后来,命令用船把搜罗来的美女送到东京洛阳,而路途中盗贼四起,护送的使者感到这种差役辛苦,就在淮水和泗水中把船弄沉,将那些美女都淹死,前前后后有十多起。有的暴露了出来,王世充就替他们遮掩,又仓促简单地选择一些女子用来进献。这之后,王世充更受亲宠。

  逢上李密攻下兴洛仓,进逼东都洛阳,官军屡遭失败,光禄大夫裴仁基献武牢城投降李密。炀帝深恨李密,大规模地发动兵马,准备讨伐李密。特意颁布诏令,派遣王世充为将军,驻扎在洛口抵挡李密。前前后后交战一百多次,互相有胜有负。王世充就率领兵马渡过洛水,进逼仓城。李密与之交战,王世充被打败,落在水中淹死的有一万多人。当时天气寒冷,下着很大的雪,士兵渡过洛水之后,衣服湿透了,冻死在路途上的又有几万人,等到了河阳,才剩下几千人。王世充自囚于牢狱之中,向越王杨侗请罪,越王杨侗派使者敕免他,召令王世充回东都洛阳。王世充收罗逃散的士兵,驻扎在含嘉城中,不敢再出来。

  宇文化及在江都杀害炀帝,王世充和太府卿元文都、将军皇甫无逸、右司郎卢楚尊奉杨侗为君王。杨侗任命王世充为吏部尚书,封爵郑国公。杨侗用元文都、卢楚的计谋,任命李密为太尉、尚书令,李密就向杨侗称臣,又率兵在黎阳抵抗宇文化及,派遣使者进奉俘虏和战利品。众人都很高兴,只有王世充对其属下诸位将领说:“元文都一类人,不过是撰写公文和诉状的人罢了。我看这种形势,一定会成为李密的俘虏。况且,我们的军队兵马经常和李密交战,杀害其父兄子弟,前后已经很多了,一旦成为他的部下,我们就没一个人能够活得了。”王世充说出这些话,用来激怒众将。元文都知道后十分害怕,与卢楚等人商议,准备利用王世充入宫的机会,埋伏士兵将王世充杀掉。日期已经约定好了,将军段达派遣女婿张志把卢楚等人的阴谋告诉了王世充。王世充夜里率兵围住宫城,将军费曜、田世..等人在东太阳门外与王世充大战。费曜等人被打败,王世充就攻入宫城门。皇甫无逸单人匹马逃走。王世充捉获卢楚,把他杀了。这时,宫门还关闭着,王世充派人敲门对杨侗说“:元文都等人想把皇帝抓起来投降李密,段达知道后告诉了臣。臣不敢造反,只是要诛杀反叛者。”元文都得知发生了变故,入宫奉杨侗到乾阳殿,列兵保卫杨侗。命令将帅利用宫城来抵抗,军队被打败,杨侗命令打开宫门让王世充进来。王世充派人把宫中的侍卫全部替换下来,第二天入宫谒见,叩首流涕,对杨侗说“:元文都等人无礼,阴谋相互屠杀,事情紧急才这样做,不敢背叛国家。”杨侗和王世充盟誓。不久,王世充又派遣韦节等人劝杨侗,任王世充为尚书左仆射、总督内外诸军事。又授任王世充的兄长王恽为内史令,进入宫中居住。

  不久,李密打败宇文化及而回,精兵良马大多战死,士兵都很疲倦。王世充正想利用李密士卒疲惫之机,打击李密军,恐怕人们不一心,就假托鬼神,说是梦见了周公,就在洛水上游修建宙宇,派遣巫师张扬说“:周公想令仆射急速讨伐李密,会取得很大成功,不然的话士兵都要因瘟疫而死掉。”王世充的士兵大都是楚地人,风俗迷信妖魅荒诞,所以就说出这些话来迷惑士兵。众士卒都请求作战,王世充精选训练精壮英勇的士兵二万多人,马一千多匹,在洛水南岸安下营寨。李密的兵马驻扎在偃师北山上。这时,李密刚刚打败宇文化及,正是得意之时,有轻视王世充的意思,没有修筑工事。王世充派遣二百多名骑兵,悄悄进入北山,埋伏在山谷中,命令士兵喂饱马,早晨还未起床就在寝席上进食。一切准备好之后,夜里渡河,人马疾驰,到天亮的时候接近了李密的营寨。李密出兵应战,还没摆好阵势,两军混战在一起。伏兵借助山的隐蔽而上,偷偷登上了北原,从高处冲下,驰压李密的兵营。营中大乱,没有人能够抵挡,伏兵就进入营中放火。李密的军队十分惊恐,四散溃败,其将张童儿、陈智略投降。进军攻下偃师。当初,王世充兄长和其子玄应跟随宇文化及到东郡,李密俘获他们,囚禁在城中。至此,都全部获得释放。又俘获李密的长史邴元真的妻子儿女,司马郑虔象的母亲和李密诸将官的子弟,都加以安抚慰问,让他们各自偷偷地呼唤他们的父兄归附。军队到了洛口,邴元真、郑虔象等人献仓城以响应王世充。李密带着几十名骑兵逃遁,王世充收罗众兵而回。东边到大海,南边到长江,都来归附王世充。

  王世充又令韦节劝杨侗,任命自己为太尉,设置官署和属官,把尚书省作为自己的官府。不久,自称郑王,派遣部将高略率师进攻寿安,交战不利而回师。又率师围攻谷州,三天就退兵了。第二年,王世充自称相国,接受九锡,准备帝王仪仗队所用的器物,这之后就不朝拜杨侗了。有一道士名桓法嗣,自称能解图谶,王世充亲昵他。法嗣就上《孔子闭房记》,画的是一男子手持一杆驱赶羊。法嗣说“:杨是隋朝的姓。干字加一,是王字。姓王的在姓杨的后面,明摆说是相国代替隋朝成为皇帝。”又取《庄子》中的《人间世》和《德充符》二篇上奉王世充,法嗣解释说:“上篇说的是‘世’,下篇说的是‘充’,这就是相国的名字。应当恩德遍及人间,应符命而成为天子。”王世充非常高兴地说“:这是天命啊!”再次拜谢,接受法嗣的上书。随即任命法嗣为谏议大夫。王世充又用罗网捕获各种鸟,把帛书系在鸟颈上,自称上应符命而把它们放回天空。有人用弹弓射得鸟而来进献,也授官封爵。接着废除杨侗,将他私下杀害,自己超越本分即皇帝位,建元曰开明,国号为郑。

  大唐太宗率军围攻王世充,世充频繁出兵迎战,一交战就失利,许多城池相继投降。王世充十分困窘,派遣使者向窦建德求救,窦建德率兵救援。兵至武牢,太宗大败其军,擒获窦建德来城下。王世充准备突出重围逃跑,众将没有人响应他,于是出城投降。到了长安,被仇人杀害。