這一年正月底,屈突通和竇軌率部巡視各軍的營壘陣地,途中忽然遭遇王世充。唐軍猝不及防,差點被鄭軍殲滅。李世民聞訊,親率玄甲軍前往救援,大破王世充,生擒其騎兵將領葛彥璋,斬殺並俘虜了六千餘人。

二月初,由於洛陽被圍日久,糧食短缺,駐軍虎牢的王世充長子王玄應率數千人押運糧草救濟洛陽。李世民探知情報,命將領李君羨出兵狙擊。王玄應倉猝應戰,被李君羨擊潰,糧草全部落入唐軍手中,王玄應隻身逃回洛陽。

李世民覺得對洛陽發動總攻的時機已經成熟,遂遣宇文士及回朝請命。李淵批準了李世民的請求,並對宇文士及說:“回去稟告你們秦王,奪取洛陽是為了早日結束戰爭。克城之日,宮城中的乘輿法物、圖籍器械,凡不是私人物品的,由他收存保管,其餘子女玉帛,全部犒賞將士。”

李世民得命,遂於二月十三日率大軍進駐青城宮。唐軍未及修築營寨,王世充便親率二萬人馬出城攻擊。諸將皆懼,李世民命精銳騎兵在北邙山下列陣,隨後帶著各位將領登上北魏宣武陵察看敵情,對左右說:“賊兵已經到了窮途末路,這次王世充把全部兵力都投入戰場,準備決一死戰,若今日一戰破之,其後他便不敢再出城了!”於是命屈突通率五千人渡過榖水進攻王世充,隨後李世民親率騎兵衝入敵陣。

中原之戰中最為激烈的這場青城宮戰役就此打響。

為了探測敵陣的縱深程度並且打亂敵軍的陣形,李世民騎著他鍾愛的那匹通體純紫、奔跑如飛的駿馬颯露紫,在數十精騎的掩護下,像一支離弦之箭直直插入敵陣,最後竟然橫穿而出,一下打亂了鄭軍的陣腳。鄭軍士兵大為驚恐,被擊殺甚眾。可就在李世民縱橫馳騁、殺得性起的時候,一道河堤忽然擋住了他的去路。

那是榖水岸邊的河堤。李世民匆忙掉轉馬頭,準備和大軍會合。可是周圍密密麻麻全是敵軍,就連保護他的數十名騎兵也失散了。

李世民的身邊隻剩下一個將領丘行恭。

這是李世民自中原開戰以來第三次身涉險境。

敵人圍了上來,流矢紛紛射向李世民,颯露紫前胸正中一箭。危急關頭,丘行恭連發數箭,射殺了幾名敵兵,隨即翻身下馬,把自己的坐騎交給李世民,然後一手牽著颯露紫,一手執長刀,左衝右突,大聲叱喝,終於和李世民一起殺開一條血路,與趕上來的大軍會合。(颯露紫也是“昭陵六駿”之一;戰鬥結束回營後,丘行恭為其拔箭療傷,但颯露紫終因流血過多而死;李世民為其題寫的讚辭是:“紫燕超躍,骨騰神駿,氣讋三川,威淩八陣。”颯露紫陣亡後,李世民所乘的是“昭陵六駿”中的另一匹寶馬什伐赤,此馬純赤色,是來源於波斯的汗血馬;在此後繼續圍攻東都的戰役中,什伐赤身中五箭,李世民為其題寫的讚辭是:“瀍澗未靜,斧鉞申威,朱汗騁足,青旌凱歸。”)

李世民突出重圍後,王世充也迅速集結潰散的部眾,重新擺出陣形,繼續與唐軍鏖戰。

這一仗打得異常慘烈。從辰時(七時)一直激戰到午時(下午一時),鄭軍多次被唐軍騎兵衝散,可王世充卻屢屢整兵再戰,表現出了前所未有的頑強。

王世充知道,如果輸掉這一仗,今後他就隻能龜縮在洛陽城裏,被唐軍壓著打了,所以他必須全力以赴。然而,盡管王世充已經拚盡了全力,這一仗他還是輸了。

因為,鄭軍跟唐軍的戰鬥力根本不在同一個級別上,尤其是在野戰方麵。

午時過後,唐軍士兵越戰越勇,鄭軍士兵卻個個精疲力竭,開始往後潰退,再也不聽號令了。王世充萬般無奈,掉轉馬頭向洛陽狂奔。李世民乘勝追擊,一直追到了洛陽城下,總共斬殺並俘虜了七千餘人。

唐軍隨後便將洛陽團團包圍,最後一個階段的攻城戰開始了。唐軍從二月下旬開始圍攻洛陽宮城,但是最後的攻堅戰卻要比李世民想象的艱難得多。

因為鄭軍的防禦部署非常嚴密,而且還裝備了大量重型武器。比如投石機,可投擲五十斤的飛石,投擲距離達二百步。可想而知,這樣的“炮彈”發射出去,每一發都可以把人砸成肉醬。此外還有一種巨型連弩,把弓拉滿的時候形狀大如車輪,箭鏃形同大斧,每次可以連續發射八箭,射程可達五百步。在這樣一些“尖端武器”的猛烈打擊之下,雖然唐軍日夜不停地從四麵猛攻,付出了重大傷亡,但是一連打了十多天,洛陽宮城還是巋然不動。

唐軍將士筋疲力盡,以行軍總管劉弘基為首的一批高級將領紛紛請求班師。

可誌在必得的李世民堅決不同意。他說:“我們大舉進攻中原,自應奪取洛陽,此乃一勞永逸之舉。而今東方各州皆已望風歸降,洛陽隻是一座孤城,不可能堅持太久,眼看馬上就要成功,豈能棄之而去?”