唐太宗縛著竇建德到東都洛陽城下, 王世充看到竇建德被俘, 遂率官兵請降。
唐朝剛建立時, 高祖僅據有關中一地, 天下依然群雄並立,
武德三年(620年)七月, 秦王領一旅之師, 從西都長安出兵攻打王世充佔據的洛陽。 軍隊進駐穀州。 世充率精兵三萬列陣於慈澗, 秦王帶著輕裝的騎兵挑戰。 當時寡不敵眾, 陷於重圍中, 身旁的人都感到恐懼。 秦王命令身邊的人先退回, 獨自殿后應戰。 王世充的勇將單雄信率數百騎兵夾道來逼, 交相猛衝, 秦王幾乎被他們擊敗。 秦王英勇無比, 左右開弓射箭, 敵人無不應弦而倒, 此戰並擄獲王世充的大將燕頎。
秦王廣施仁德, 軍隊所到之處, 王世充的城堡守軍將領接連前來投降。
九月, 秦王帶五百騎兵觀察戰地, 王世充率一萬步騎兵突然出現, 將秦王團團包圍。 王世充大將單雄信舉槊直奔秦王, 眼見秦王危險, 尉遲敬德躍馬大呼趕來, 將單雄信刺于馬下。 隨後, 尉遲敬德護著秦王沖出重圍。 後雙方交戰, 王世充的軍隊敵不過秦王的精銳部隊, 潰敗而逃, 被斬首級三千多, 王世充隻身逃脫。
據《舊唐書》記載:武德三年十月三十日, 有流星墜於東都城內, 殷殷有聲, “此王世充滅亡之兆也。 ”武德四年, 秦王在北邙山列陣, 王世充探知秦王到來, 嚴陣以待, 兩軍相接, 唐家軍精勇無比, 敵軍拚死作戰, 從辰時打到午時, 敵軍才退卻, 王世充落荒逃回城中, 堅守不出, 等待竇建德的救援。 秦王於是進兵到洛陽城下紮營。
後來秦王親率三千五百步兵進屯武牢, 阻擋前來救援的竇建德的西進部隊。 雙方對峙二十多天后, 竇建德中計, 全軍十多萬傾巢而出, 加上王世充的軍隊, 延伸好幾裡, 擂鼓呐喊, 聲勢顯赫。
由於雙方人數相差過於懸殊, 又面對撼天動地的陣仗, 秦王的將領們心生恐懼, 秦王安撫諸將領說:“賊人沒見過大敵, 越過險地就狂呼亂叫, 表示他們沒有軍紀;我們只要按兵不動, 列陣時間一長, 士兵饑餓, 就會自動退兵, 此時再出擊, 可無往不勝。 ”並和他們約定, 一定會在午時以後大破敵軍。
竇建德列陣, 士兵從辰時等到午時, 都饑渴疲倦, 或坐在地上, 或爭相喝水, 散不成軍。 竇建德見狀, 只好收兵撤退。
秦王趁機進擊, 率史大奈、程咬金、秦叔寶、宇文歆等驍將揮旗沖入敵陣,
《全唐文》陸元朗〈敕建廣武山觀音寺碣〉中記載:秦王擒獲王世充、竇建德後, 凱旋班師回朝的途中, 夜宿在廣武。 在夜雨朦朧中, 秦王看見“觀音菩薩, 金身畢露”, 顯現在光焰射天的東南雲際。 太宗叩首膜拜, 虔誠仰望, 欣喜地對諸將說:“這是因為武事告成,
參考資料:《舊唐書》《全唐文》