唐武德四年夏五月,夏主出兵,以刘黑闼、范愿为先锋,王伏宝、曹旦为左、右翼;宋正本、齐行善为合后;自督中军悉发孟每公、徐圆朗之众,西救洛阳。行至渭州,有世充行台仆射韩弘开城迎接。次日,建德攻陷管州、荥阳、杨翟等县,水陆并进,大兵三十余万,相属不绝,前抵成皋之东原屯扎,筑营板渚,遣使通知王世充,先令其臣李大师、魏处绘赍书以达秦王。
却说秦王正在中军商议攻城之策,人报:“世充往夏国求借救兵,即日窦建德会合本处人马,共三十余万,水陆并进,舡骑双行,出成皋而来。见有人赍书到此。”秦王接了书,启缄观之:
尝闻:“兵乃凶器,战者逆德。”夫春秋诸侯有软(歃)血之盟,未尝辄有征伐之兵。何尔唐主既得关中而王,志亦足矣,奚必生外衅,欲成一统天下耶?隋失其鹿,人共逐之,非惟尔有。今王莫若返骑解甲,为计之上。不然,吾与郑主时势相依,不得不救也。谨此先达。惟王谅之。
秦王看书毕,留之不答。集将佐议之。诸将皆言:“夏兵水陆并进,锋芒正盛,且退师拒长陵,少避其锐。”郭孝恪曰:“世充穷蹙,垂将擒缚,建德远来助之,此天意欲两亡之也。大王宜据武牢之险,伺其疲困而后动,破之必矣。”记室薛收亦曰:“世充府库充实,所将皆江淮精锐之众,但少粮食,故受我困。今建德自将远来,所部极其强壮。若放之至此,两寇合从,转河之粟,而以馈洛阳,则战争方始,混一无期,胜败未可知也。如今之计,莫若分兵守洛阳,深沟高垒,勿与之战。大王亲帅骁锐,先据成皋,阻建德之来路,以逸待劳,决可克也。建德既破,世充自下。不过二旬,两主之首可致麾下矣。”世民曰:“公言甚当。”有萧瑀、屈突通、封德彝等,皆劝秦王退保新安,以乘其弊。世民见诸将议论不一,因谓其下曰:“建德新克孟海公,将骄卒惰。吾今以众扼其咽喉,取之甚易。若其不战,旬月之间,贼入虎牢,诸城新附,必不能守。两贼并力,其势必强,有何弊可乘?吾计决矣。”即中分其军,使屈突通等副齐王守东都,防窦建德来寇;自督诸将东趋武牢。世民分拨已定。次日早晨,大兵离了北邙,抵河阳,望巩县进发。哨骑报入洛阳,世充欲开城追之。骁骑大将军何惠曰:“世民大军既退,必有暗计。若追之,恐坠其阱也。目下游骑来报,建德发水陆之众,鼓震而来,莫非虑郑兵袭其后,故分骑迎之。主公正宜养锐固守,坐观时势也。”世充迟疑莫测,竟不敢出。
却说世民大队人马已近虎牢,忽前面征尘蔽日,一枝人马来到。秦王着人体探,乃李世勣也,听的秦王部兵来到,故此迎候。秦王见了大喜,遂安下营垒,因问世勣攻克之事。世勣曰:“郑之资粮俱在虎牢,近日世充屡遣人入关运粮。守将王玄应出兵,被吾杀得片甲不回,坚闭不出。今王大军既集,并力攻之,若得了虎牢,粮草足支,世充破败之必矣。”世民曰:“虎牢已在掌中,唯有窦建德大势人马可虑。吾先出兵,挫其先锋,乘胜兵攻虎牢,此必取之势也。”即令段志贤引军五千,埋伏成皋之东;程咬金、马三宝引步骑三千,多带弓弩,埋伏于左路有杂木处,听炮响为号;李世勣、秦叔宝部军一万接应;秦王自将骁骑五百,出觇建德营寨。分拨已定。众将各依令去了。
及日中,秦王与骁骑带了乡道数人,离虎牢望石头山,绕出建德寨后来,周匝观视一回,果是旗帜齐整,队伍分明,连营二十余里,人马往来不息。早有游兵报入军中,建德大惊曰:“唐兵何神速耶!”即遣骁将殷狄引铁骑五百追之,自部众将开壁而出,喊声大举,鼓如雷动。秦王知的建德出兵来追,勒辔转阵前而走。未一里间,殷狄一骑尾其后。世民故意延缓,看定追骑将近,拽满雕弓,回头大呼曰:“贼将慢来!吾秦王也。”殷狄躲避不及,一矢正中面门,坠死马下,铁骑军皆不敢近。秦王按辔徐徐而行。建德自部兵赶到,前军报:“殷狄已被射死。世民不知从那条路去。”曹旦曰:“山路崎岖,世民谲计百出,倘四下有伏兵,如之奈何?”正相议间,忽树林中火炮齐举,更不知多少唐兵卷地而来,两旁箭如飞蝗。夏兵大惊,不战自乱。建德知入伏中,与诸将鼓勇杀出。未数里,东路金鼓齐鸣,一彪人马涌出,乃唐将段志贤也,大叫:“贼众不即纳降,更待何时!”建德前降大将刘黑闼,舞刀直取志贤。二人战上二十余合,不分胜负。随后李世勣、秦叔宝挥动人马,冲杀过来。外(故)黑闼不敢恋战,与众将保定建德,夺围走回成皋。秦王见夏兵去远,亦收回人马。
却说建德回至中军,怒气未息,集诸将议曰:“吾军初出,本来救郑,今日先挫此一阵,又折了大将殷钬,岂不惹诸侯耻笑!明日出大军,与世民决一死战,方雪此愤也!”曹旦曰:“因一战之失利,而即为报怨之举,语云:‘小不忍则乱大谋。’今唐军所虑者,惟在粮草不继,故引兵急围虎牢,意在得其地而资其食。若虑牢不下,彼众亦难久住。大王可遣人运回洛下之粟,为长守之计,世民自当退矣。何必急于战哉。”建德从其议,即着左卫将军黄琮、副总管苏有年运回粮草,遂坚壁不出。是时秦王引得胜兵,急攻虎牢,连数日不能下。忽细作报知:夏兵已运粮草