王世充的太子王玄应率领几千士兵,从虎牢运粮到洛阳,秦王李世民派将军李君羡截击,大败王玄应,王玄应仅以身免。
李世民派宇文士及回长安上奏,请求进军包围东都洛阳。唐高祖对宇文士及说:“回去告诉秦王:现在夺取洛阳,只是想结束战乱。攻克洛阳那天,隋朝的皇帝仪仗、图书典籍、器械,凡不是私人需要的,都交给你收管。其余的宫女、财物,全部赏赐给将士。”
辛丑日,李世民率军转移到青城宫,营垒还没修好,王世充就率领两万部众从方诸门出兵,凭借过去马坊的墙垣壕沟,靠近谷水抵御唐军,众将领都很畏惧。李世民派精锐骑兵在北邙山列阵,登上魏宣武帝的陵墓眺望敌军,对身边的人说:“叛军处境窘迫,出动全部兵力,想侥幸打一仗,今天打败他们,以后他们就不敢再出兵了!”命屈突通率领五千步兵渡过谷水攻击敌军,告诫屈突通:“两军交战就放烟为号。”烟柱升起后,李世民率领骑兵南下,身先士卒,与屈突通合力作战。李世民想了解王世充军阵的厚薄,率领几十名精锐骑兵冲入敌阵,一直冲到敌阵背后,叛军纷纷溃散,唐军杀伤很多敌人。不久,李世民被长堤阻挡,和骑兵们失散,将军丘行恭独自跟随李世民,王世充的几名骑兵追上来,李世民的马中箭倒地。丘行恭调转马头射箭,箭无虚发,追兵不敢上前。丘行恭下马,把自己的马交给李世民,自己在马前手持长刀,跳跃大喊,斩杀几人,冲出敌阵,回到唐军大营。王世充也率领部众拼死作战,军队溃散后又多次集合,从辰时到午时,王世充的军队才开始撤退。李世民率军追击,一直追到洛阳城下,杀死、俘虏七千人,随后包围洛阳。骠骑将军段志玄与王世充的军队苦战,深入敌阵,马倒被俘,两名骑兵夹住他的发髻,准备渡过洛水,段志玄奋力挣扎,两人都坠马。段志玄骑马逃回,几百名追兵不敢逼近。
起初,骠骑将军王怀文担任唐军的侦察兵,被王世充抓获,王世充想拉拢他,把他安置在身边。壬寅日,王世充从右掖门出兵,靠近洛水列阵,王怀文突然手持长矛刺杀王世充,王世充身穿铠甲,长矛折断没能刺入,身边的人猝不及防,都惊愕得不知所措。王怀文逃往唐军方向,到写口时,被追兵抓获杀死。王世充返回后,脱下铠甲,袒露上身对群臣说:“王怀文用长矛刺我,最终没能伤到我,这难道不是上天的旨意吗!”
此前,御史大夫郑飂不愿意在王世充手下做官,经常称病不参与政事,这时对王世充说:“我听说佛有金刚不坏之身,陛下您就是这样啊!我实在幸运,能生活在佛主的时代,希望放弃官职、剃发为僧,勤奋修行,来助陛下神威。”王世充说:“您是国家大臣,一向有声望,一旦出家,会让众人震惊。等战乱平息,我再成全您的心愿。”郑飂坚决请求,王世充不许。郑飂退下后对妻子说:“我从小做官,立志追求名节,不幸遭遇乱世,流落至此,在猜忌的朝廷中勉强立足,身处危亡之地,我才智浅薄,无法保全自己。人生终有一死,早死晚死有什么区别?不如顺从我的喜好,死也无憾!”于是剃发穿上僧衣。王世充听说后,大怒说:“你认为我一定会失败,想苟且偷生吗?不杀你,怎么震慑众人!”于是在街市上斩杀郑飂。郑飂谈笑自若,围观的人都为他的勇气感到钦佩。
唐高祖下诏追赠王怀文为上柱国、朔州刺史。
并州安抚使唐俭秘密上奏:“真乡公李仲文与妖僧志觉有谋反的言论,又娶陶氏女子,来应验‘桃李’的谣言。他讨好突厥可汗,很得可汗欢心,可汗答应立他为南面可汗。他在并州时,贪污受贿,声名狼藉。”唐高祖命裴寂、陈叔达、萧瑀共同审讯李仲文。乙巳日,李仲文被处死。
庚戌日,王泰放弃河阳逃跑,他的将领赵敻等人献城投降唐朝。王世充的别将单雄信、裴孝达与唐军总管王君廓在洛口对峙,秦王李世民率领五千步兵骑兵救援,抵达轘辕关,单雄信等人逃走,王君廓追击,击败敌军。
壬子日,延州总管段德操袭击刘仚成,击败敌军,斩杀一千多人。
乙卯日,王世充的怀州刺史陆善宗献城投降唐朝。
秦王李世民包围洛阳宫城,洛阳城内防守十分严密,大炮能发射五十斤重的石头,射程达二百步;八弓弩能发射像车辐一样粗的箭,箭头像大斧,射程达五百步。李世民从四面攻城,昼夜不停,十多天也没能攻克。城内有十三批人想翻墙投降,都没来得及行动就被杀死。唐军将士都疲惫不堪,想撤军回去,总管刘弘基等人请求班师。李世民说:“现在大举出兵,就该一劳永逸。东方各州已经望风归降,只有洛阳一座孤城,势必难以长久支撑,大功即将告成,怎么能放弃呢!”于是在军中下令:“洛阳没攻克,军队绝不返回,敢