公元620年5月,李世民平定宋金刚,高奏凯歌回到长安城。不料坐未安席,军阀王世充又掀起了战事。
王世充原是隋朝江都县令。他善于察颜观色,迎合上司,而且在镇压农民起义中立了大功,因此深得隋炀帝赏识。后来,李密起兵围攻洛阳,隋炀帝命王世充带兵救援。因李密轻敌,竞被他彻底打败。
不久后,隋炀帝被杀,野心勃勃的王世充逼迫在洛阳宣告继位的越王退位,自称皇帝,国号郑,改元天明。以洛阳为都城,割据河南一带,同唐朝对峙,不断派兵袭扰。李渊深以为忧,就命令李世民统帅诸军,出潼关征伐王世充。
王世充听说李世民带兵前来,不敢怠(dai)慢,赶紧调兵遣将。他在所辖诸州镇中选拔骁勇善战之士,将他们集中到洛阳;并派遣自己的兄弟、侄子防守洛阳以及洛阳周围的军事要地。自己亲率三万大军,同唐军对抗。
这年7月,李世民率大军进至新安(今河南新安),距洛阳七十里。王世充据守坚城,全力抵抗。洛阳城高墙厚,防卫严密,一时难以攻破。但是,他原为隋炀帝的亲信,以镇压农民起义起家,而且他所建立的政权直接继承了隋朝的政权,因此,他的统治集团不得人心,也得不到人民的有力支持。而且,他的统治集团内部也存在着很深的矛盾,其中一部分人一直倾向于李渊。他手下的一些从李密麾下投降过来的旧将,如秦叔宝、程知节等都先后投奔了李渊。他的政权所辖州县的局势也很不稳固,一看到唐朝占有优势,都会顺势倒戈。
所以,在两军对峙之时,李世民手下谋士建议说:“刘武周兵败身亡,我军声咸大震,东都震惊,王世充丧胆。王世充的主力部队善于防守,但不善进攻,而他现在的驻地距离我们两军的阵地不过百里之遥,全部暴露在我们面前,不易防守,他的粮草和兵力的补充也跟不上。并且王世充篡位自立,人心不服,在这种情况下,我们应该直逼洛阳城下,用重兵四面猛攻,必可一战而破。洛阳既破,其所属州县,自可传檄而定。”
李世民不同意这种策略,他说:“王世充能打败李密,说明他颇有谋略。而且,战败李密之后,他扩大了地盘,增加了人口,又补充了兵力,在百姓中也有了威望。在这种情况下,若马上围攻洛阳,必将付出巨大的代价。如今最好的办法,不是迅速拿下洛阳,因为在这种情况下,即使我们拿下洛阳,我们自己的损失也会很惨重。我们不如派大军威逼洛阳,同时出动精锐兵力,攻打洛阳附近各州县。王世充害怕我军攻城,必不敢救援。等到周围各州县攻下来,洛阳孤立无援,王世充也成了瓮中之鳖,还怕他不投降吗?”
于是,李世民调兵遣将,派出两路兵马,从洛阳南北两翼东进,切断洛阳同南北两面的联系,斩断了王世充的供应线。李世民亲自率领大军驻扎洛阳北面北邙山下。为了虚张声势,李世民让手下将士大造营房,还让士兵们吹响号角、擂起战鼓,似乎立即就要出战,从心理上给洛阳守军施加压力。
为了牵制王世充,李世民又命令将军罗士信率前锋部队围攻慈涧(今河南慈涧),直接威胁洛阳。王世充大惊,亲率三万大军救援。所以,王世充的后备力量一度缺乏,军队力量分布不均。李世民部署在南北两翼的进攻部队因而势如破竹,连获胜利,迫使王世充属下的许多州县投降,前锋直指管城(今郑州市),威胁到洛阳的东面。
李世民听说王世充亲自来援救慈涧,就率领五万大军迎战。有一天,他带领几十名骑兵到前面侦察敌情,不料突然与王世充的大军相遇。李世民大惊,急忙命令撤退。可是已经来不及了,很快被敌军围住了。好在此处道路狭窄,敌人的兵力不易展开,否则就算插上翅膀也逃不掉了。
王世充手下大将郑罕认为这是活捉李世民的天赐良机,就紧紧追赶,指挥部下蜂拥而上。李世民一看情势非常危急,正准备突围,王世充麾下骁将单雄信又率数百名骑兵,从两翼冲杀过来,直取李世民。李世民边战边退,到了一个较开阔的地方。李世民担心地域开阔,自己的几十个人一旦分散作战,必定势单力薄、不堪一击,所以就命令部下紧随其后,不要失散,看到敌军有薄弱环节,就集中力量,群起而攻之。
郑罕的军队人数虽多,但比较分散,李世民手下虽然只有几十个人,力量集中一处,反而在局部占优。而且,李世民的兵力少,比较好统领,所以集中作战就比较灵活。只见李世民和他的部下东奔西突,所向披靡。只要郑军集中过来,李世民又旋风般冲向别处了。王世充手下一位将领立功心切,冲在最前头。李世民突然返身向后驰去,两马相交,竟将这员敌将活捉过来。就这样,李世民边战边退,始终没有被敌人彻底围住,反而屡有斩获。王世充怀疑他是故意引诱郑军深入,便鸣金收兵,退了回去。
李世民暗道“侥幸”,也领众退回。到了唐军大营前,因为带着一帮残兵败将,衣衫褴褛,满身血污,唐军竟认不出是他,紧闭营门,不让他进去。李世民赶紧脱掉盔甲,守军这才将他认了出来。
这次惊险的接触战,使李世民认识到,王世充此人多疑寡断,难成大器,因而对战胜他充满了信心。