大业十年,齐郡的起义军统帅孟让从山东长白山出发,侵犯周围的各个州郡,杀到盱眙,发展到十多万人马。王世充率领部队抵御,以都梁山为据点,设置五道营栅,敌我相对而不交战,还扬言撤退,部队表现出疲惫不堪毫无战斗力的样子。孟让大喜,说道:“王世充那个鼠辈,不过是个只懂法令条文的小官罢了,怎么能带兵打仗?我非要活捉他,然后挥师南下,打到江都,活捉昏君杨广。”当此之时也,盱眙的百姓都住进了隋朝部队营垒,遍地没有东西可抢,叛军慢慢地没有吃的,又为营栅挡住道路而伤脑筋,不能向南方进军,于是分兵包围王世充的五处营栅。王世充大喜,每天出兵与贼军交战,表面上装作失利,跑回营栅。像这样持续了好几天,孟让更加小看他,就慢慢分派人马到南边去搜抢财物,留下的兵力只够围住营栅。王世充听说此事,确定了孟让的确是放松了警惕,就在军营中填平了灶坑,拆下了帷帐,摆设起方阵,四面朝外,拔掉栅栏出击,奋力作战,大败敌军,孟让带着几十个人悄悄逃走了。此战,王世充杀死了一万多人,俘虏了十多万人。隋世祖大喜,认为王世充有将帅的才干谋略,又派他率领部队讨伐各个小股叛军,所到之处,全部荡平。
大业十一年,突厥始毕可汗在雁门发难,包围了张曐、杨妙可、处罗可汗。王世充打算带领江都的全部人马准备到雁门赴救国难,在队伍里蓬头垢面,痛哭得失去常态,日夜不脱盔甲,还躺在草上睡觉。隋世祖明皇帝听到这些情况,认为他忠诚,更信任他。
大业十二年,王世充升任江都通守。当时厌次人格谦当了多年盗匪,带着十多万人在卤亢一带活动,被太仆卿杨义臣杀掉。王世充听说此事,急忙统率部队攻打格谦的残存队伍,打败了他们。又出兵到南阳攻打卢明月的残部,俘虏了好几万人。班师回到江都,世祖皇帝非常高兴,亲自举杯赏赐他。
大业十三年七月,瓦岗军金墉西魏王李密趁伍云召在前线和项子龙作战,偷偷出兵,拿下了丹阳和临阳。由于这两处地方守军很少,而且战略意义已经不大,所以伍云召并不在意。李密大喜,于是猛攻东都洛阳,多次击败守军,洛阳求救的文书雪片般飞到江都。隋世祖明皇帝迫不得已,调全国各地精兵救援洛阳,在各路援军中,就有江都通守王世充率领的江淮劲卒二万人。由于这次军事行动的总指挥吐万绪在进军途中,于河间七里井意外地被河北起义军夏明王窦建德歼灭,世祖于是任命王世充继任援洛大军的总指挥。
九月,王世充等各路援军齐集洛阳,使隋在洛阳的兵力达到十余万。王世充出兵向李密挑战,双方在洛口对阵,两军前后交战一百多次,还不分胜负。隋世祖明皇帝又派人到部队任命王世充为将军,催促他打败李密。王世充带领部队渡过洛水跟李密作战,吃了败仗,被淹死了一万多人,就率领余部返回河阳。不巧碰上天气寒冷,大雪纷飞,沿途又冻死了好几万人,等到抵达河阳,只剩一千多人。王世充自我囚禁起来请罪,越王杨侗得知此事,派遣使者释放了他,召回洛阳,驻扎在含嘉仓城,收集逃散的士卒,又有了一万多人。所以,王世充实际上已经控制了洛阳城。没过多久,李密打败在山东造反的叛军,班师回朝,他的精兵骏马多半战死,剩下的疲劳困乏。但是李密贼心不死,还是要攻打洛阳。王世充大怒,想乘机攻打他,又怕人心不齐,于是借助鬼神征兆,说自己梦见了周公。于是在洛水岸边修建了周公祠,请巫师宣扬周公命令尚书左仆射赶快讨伐李密,会立大功,不然兵士们就会全部死于瘟疫。王世充的兵士多半是楚地人,在习俗上相信欺骗迷惑人心的怪诞言词,大家都请求作战。王世充挑选精锐骁勇的人马,有两万多名将士,两千多匹战马,在洛水南边扎营。李密在偃师的北山头驻扎。当时李密刚刚打了大胜仗,心高气傲,有渺视王世充的情绪,于是不筑壁垒工事。王世充在夜间派遣三百多名骑兵秘