当初,窦建德打着替皇泰主报仇的旗号,发兵讨伐王世充,王世充也垂涎被夏国占领的黎阳重地,派兵北上争夺,双方关系恶化,不再互派使者往来。李世民督军东进以后,窦建德趁着唐、郑两强在河南大战,把夏国部署在南方的军队收回,决定先经营北方和东方,攻打被唐国封为燕王,当时割据幽州的罗艺(隋末诸侯之一,因实力较弱而选择向唐称臣,唐高祖赐其李姓,改名李艺),和自称宋义王,割据曹、戴二州(在今山东省菏泽市)的孟海公。经过数次交手,罗艺和窦建德互有胜负,孟海公则举曹、戴二州归降了窦建德,夏国基本肃清了北方、东方的威胁。
公元620年十一月,被城外的李世民完全切断了补给线的王世充逐渐缺粮,不得不低声下气的向突厥、夏国求援。突厥国的实力虽强,军队虽多,但该国的势力一时尚无法渗透到中原的腹心区域,对此表示爱莫能助;夏国的实力同样很强,然而窦建德痛恨王世充的狡诈、狠毒,在与夏国官员们商议时表示,郑国可以救,但是没必要—像王世充这等小人,活该早点灭亡,救他的话,只怕捞不到一点好处,将来还要被他反咬一口。
夏国宰相,官拜中书侍郎的刘彬对此不敢苟同,他对窦建德分析道:“天下人皆知,当今中原呈三足鼎立之势,唐得关中,郑得河南,而我大夏得河北之地。唐国以李世民为统帅,发兵大举伐郑,一如当初曹魏以钟会、邓艾为统帅,发兵大举伐蜀,两国强弱悬殊,若无救兵,郑国必亡。我大夏的国力,强于郑,而稍弱于唐,譬如当初的东吴,实力居于曹魏、蜀汉之间,因此郑国一旦灭亡,我大夏和东吴一样,势必不能再继续维持独立。依臣之见,不如答应郑国的求援,由大王亲率三军立即挥师南下。届时,夏军攻打唐军于外,郑军攻打唐军于内,联合夏、郑两国之力,定能一战重创唐军。待唐军退兵后,我军可趁王世充不备,顺势灭郑,然后合并两国的军队,向西反攻唐国,如此天下可一战平定。”
刘彬的这一番分析,为窦建德非常清晰地制定了统一中原的长远规划。从可行性来看,完全不输张良的“下邑论策”和诸葛亮的“隆中对”。窦建德被他说服,改变了不救郑国的初衷,答复王世充的使者道:“请回告你家主公,努力守好城池,本王一定会率全国精锐南下营救。”郑国使者大喜,再三拜谢而去。
唐、夏、郑三国君主之中,王世充是公认的奸邪小人,而窦建德恰恰与之相反,是公认的正人君子—之前李勣逃回唐国时,把他父亲徐盖(李勣的父亲没有改姓,仍姓徐)留在了夏国,夏国的大臣都主张杀了李勣父亲,窦建德却大赞李勣忠于唐国的行为,下令将徐盖赦免。这样的人,要么不轻易答应别人,答应的事就一定会信守承诺,于是郑国得到其回复,全城军民士气大振(郑国此时仅剩洛阳一城)。王世充尤为激动,他仗着有窦建德撑腰,派人前往邙山军营对李世民喊话道:“李家小子,实话告诉你,窦建德的援兵马上就要到了,你若识相的话,还不赶紧滚回关中去!”
李世民不屑和王世充多费口舌,直截了当地回道:“本王之前也说过,不攻破洛阳,绝不收兵!”
几日后,李世民下令,把唐军设在邙山的军营继续朝南方移动,直接搬到洛阳城下去。在洛阳城的西北,有一座宫殿名叫:青城宫,李世民新选择的驻军地点就位于青城宫外,与洛阳只有一水之隔。王世充这下傻眼了,他本以为李世民会知难而退,哪想到这愣小子完全无视即将到来的夏国援军,竟然来了一招兵临城下,准备对洛阳城实施更严密的封锁。郑国将领们问他这下怎么办,王世充气急败坏地道:“出战,绝不能让李世民的军队靠近城墙!”
说罢,此前一直躲着唐军,尽量避免和李世民在城外旷地交手的王世充亲率两万军队出城,向营地新设,立足未稳的唐军发起进攻。也许是夏国援军即将抵达的消息起了作用,也许是王世充又一次祭出了“周公显灵”的伎俩,总之这一次郑军的攻势异常猛烈,唐军的先头部队根本无力招架。眼看唐军营地即将失守,屈突通带领五千骑兵及时抵达,到了之后,这支唐军并未急于作战,而是就地堆积起大量的柴薪,生起一团浓烈的烟雾,直冲天际。
由于屈突通的行为古怪,疑惑不解的郑军纷纷停止攻势,站在一旁大眼瞪小眼的看热闹。他们哪里知道,在屈突通出战之前,留守邙山旧营的李世民给他下达的命令是:“屈将军所部与敌军相遇后,即点燃浓烟作为讯号。本元帅与玄甲军众将见到讯号,便启程从邙山出发,秘密绕到敌军的背后发起冲击,打他一个措手不及。”因此浓烟升起不久,李世民率领秦琼、尉迟敬德、程咬金、丘行恭等猛将,突然在郑军的背后出现,截断了王世充等人的退路。王世充的军事才能也当真了得,对此变故全不慌乱,他稍一分析,发觉李世民的部下虽然精锐,但人数并不多,遂分出一军竭力挡住屈突通,其他郑军随他集体转过身来,改为围攻李世民。经过激战,秦琼、尉迟敬德等人被郑军打散,与李世民失去了联络,李世民身边只剩下丘行恭和十余骑保护。李世民见奇袭计策失败,准备纵马逃走,王世充于乱军之中准确找出了他,忙点齐数十名弓弩手,对着李世民一通乱射,李世民的坐骑在箭雨之中穿梭,不幸被郑军的弓箭射中,倒地气绝。