王世充,字行满,本来姓支,是西域的胡人。寄居在新丰。他祖父支颓耨年纪轻轻就死了。他父亲支收跟随他的改嫁到霸城王家的母亲生活,因而就改为姓王,官职升到汴州长史。王世充广泛阅读了各类书籍,尤其爱好兵法以及卜卦算命、推算天文历法方面的学问。隋文帝开皇中叶,按战功被授予仪同三司的官职,接着提升为兵部员外郎。他善于向朝廷陈事进言,通晓各种律令条文,因而利用法律条文徇私作弊,随心所欲。有的时候有人批驳他,他就巧言诡辩文过饰非,言辞激烈,人们虽然明知他不正确又没有谁能使他认错。
隋炀帝大业年间,提升为江都丞,兼任江都宫监。当时炀帝多次巡视江都,王世充善于观察炀帝的脸色,奉承谄媚顺从他的心意,每次上朝谈论政事,炀帝总是说好。于是制作玉石雕刻和风景彩画,诈称远方的珍贵工艺品,献给炀帝讨好,因此炀帝更加宠信他。王世充知道隋朝的政局将会混乱,就暗地结交英雄豪杰,广泛收买人心,那些犯罪坐牢的人,都用曲解法律的办法予以释放,从而显示私人的恩惠。后来杨玄感叛乱,吴人朱燮、晋陵人管崇在江南起兵响应,自称将军,聚集十多万人马。隋朝朝廷派遣将军吐万绪、鱼俱罗等讨伐,没有取胜。王世充作为吐万绪等的偏将,在江都招募了一万多人马,连续进攻打败了叛军。每次打了胜仗,都算作部下的功劳,所得到的战利物品,都让给普通战士,因此人人抢着为他卖力,在平叛中他的功劳最多。
大业十年(614),齐郡的叛军统帅孟让从山东长白山出发侵犯各个州郡,到盱眙,发展到十多万人马。王世充率领部队抵御,以都梁山为据点,设置五道营栅,敌我相对而不交战,还扬言撤退,部队表现出疲惫不堪毫无战斗力的样子。孟让耻笑地说“:王世充是个只懂法令条文的小官,哪能带兵打仗?我要活捉他,一直打到江都去。”这时当地百姓都住进了部队营垒,遍地没有东西可抢,叛军慢慢地没有吃的,又为营栅挡住道路而伤脑筋,不能向南方进军,就分兵包围王世充的五处营栅。王世充每天出兵打一下,表面装作失利,跑回营栅。像这样搞了好几天,孟让更加小看他,就慢慢分派人马到南边去搜抢财物,留下的兵力只够围住营栅。王世充知道敌人放松了警惕,就在军营中填平了灶坑,拆下了帷帐,摆设起方阵,四面朝外,拔掉栅栏出击,奋力作战,大败敌军,孟让带着几十个人悄悄逃走了,杀死了一万多人,俘虏了十多万人。炀帝认为王世充有将帅的才干谋略,又派他率领部队讨伐各个小股叛军,所到之处全部荡平。
大业十一年(615),突厥人在雁门围困了炀帝。王世充带领江都的全部人马准备到雁门赴救国难,在队伍里蓬头垢面,痛哭得失去常态,日夜不脱盔甲,躺在草上睡觉。炀帝听到这些,认为他忠诚,更信任他。大业十二年(616),升任江都通守。当时厌次人格谦当了多年盗匪,带着十多万人在豆子..一带活动,被太仆卿杨义臣杀掉,王世充统率部队攻打格谦的残存队伍,打败了他们。又出兵到南阳攻打卢明月,俘虏了好几万人。班师回到江都,炀帝非常高兴,亲自举杯赏赐他。到李密打下洛口仓,进逼东都洛阳,炀帝特令王世充统帅大队人马,到洛口抵御李密,前后交战一百多次,还不分胜负。炀帝又派人到部队任命王世充为将军,催促打败李密。王世充带领部队渡过洛水跟李密作战,吃了败仗,被淹死了一万多人,就率领余部返回河阳。碰上天气寒冷大雪纷飞,沿途冻死了好几万人,等到抵达河阳,只剩一千来人。王世充自我囚禁起来向炀帝请罪,越王杨侗派遣使者释放了他,召回洛阳,驻扎在含嘉仓城,收集逃散的士卒,又有了一万多人。
不久,宇文化及杀死炀帝举行叛乱,太府卿元文都、武卫将军皇甫无逸、右司郎中卢楚拥戴越王杨侗在东都洛阳继承了皇位,授予王世充吏部尚书的官职,封郑国公的爵位。元文都对卢楚等人说:“如今宇文化及杀君叛逆,仇未报耻未雪,我虽然复仇心切,但力不从心。从国家大局考虑,不如用高官笼络李密,拿国库的资财暂时利诱他,让李密去攻打宇文化及,使得两伙叛军自相残杀,宇文化及被打败后,李密的兵马必然也疲惫不堪了。再说李密的士卒得到了朝廷的奖赏,担任着朝廷官职,朝廷多跟他们建立感情,容易运用离间之计,我们的军队养精蓄锐来钻他们疲惫困乏的空子,那么李密也是可以对付的。”卢楚等人认为应当如此。当天就派使者授予李密太尉、尚书令的官职,命令他讨伐宇文化及。
李密于是向朝廷称臣,接受朝廷命令,带兵到黎阳抵御宇文化及,凡是打了胜仗就派遣使者向朝廷报捷,人们都很高兴。王世充单单对他手下的各将领说“:元文都那帮人,写写划划文官而已,我看事态的趋势,一定会被李密抓起来。再说我的部队多次跟李密作战,杀死他的父兄子弟,前前后后已经很多,一旦成为他的下属,我们这些人就没有生路了!”说这番话是为了激怒他的将士们。元文都知道后非常恐惧,跟卢楚等人商议,趁王世充上朝的时候,布下伏兵杀掉他,已经约定时间了。纳言段达平庸怯懦,害怕这事办不成功,就派他的女婿张志把卢楚等人的计谋告诉了王世充。当天夜晚王世充带领