三月二十五日,秦王李世民來到虎牢關與李世積會合。與夏王竇建德大軍相峙,雙方比耐心,都想以逸待勞讓對方先進兵。將近四十天過去了,王世充糧食磬盡,連連告急。
五月初二日,夏王竇建德按奈不住,首先發兵到虎牢關佈陣挑戰。
秦王世民堅守不應戰,以逸待勞,消磨敵軍的銳氣。
夏王竇建德的將士們在烈陽下曝曬半天,飢渴難耐士氣懈怠。
決戰的時機到了。秦王世民胸有成竹,為了論證自己的進攻戰術是否完美正確,問李世積:“這裡是瓦崗軍活動範圍,你熟悉地勢地形,如何掩護東北方向的河中渚州騎兵過河參戰。”
李世積說:“在對角方向以騎兵掠陣遊擊,反方向誘敵。”
秦王世民微笑著點點說:“你我所見略同。宇文士及聽令,你領三百騎兵擾陣,沿著夏軍兵陣邊緣向南,馳馬掠陣遊擊。必須要打得夏軍移陣追擊,如果敵軍陣不動,你領騎兵來回反覆衝陣遊擊。若敵陣發動追擊,你暫時不能入陣廝殺,沿著敵陣拐角處向東,佔領鵲山高坡。歇馬稍刻,我領中軍衝陣後,你部衝擊敵軍側後。
右武候大將軍聽令:督發步兵正攻,在虎牢關上觀陣督陣,畏敵不前者執行軍法。”
宇文士及受軍令,領三百騎兵衝擊夏軍軍陣西南角。果如秦王所料,夏軍南陣將士們迫不及待一峰窩去追擊宇文士及。秦王世民點點頭,李世積令旗一揮,虎牢關城樓上的弩車射出穿雲響箭,嗚鳴聲傳向東北方向。為防有失誤,城牆上同時點火嫋煙。
河中渚州上的騎兵早已整裝待命,聽到響箭聲,即以縱隊策馬進入水下暗道。戰馬入水浪花飛濺,數里寬的河面瞬間就過來了。
夏王竇建德在大河沿岸佈置許多瞭望哨,密切注視著唐軍的運兵馬大船。大河淤泥半人深,騎馬涉水必陷馬腿,必須要大船運馬過河上岸。哪知道水下有暗道,騎兵眨眼之間就過了大河。
唐軍在洲渚這支騎兵距虎牢關數里地,正好對著夏王竇建德的中軍大帳。
宇文士及在西南角得手。秦王世民令李世積虎牢關城樓擊鼓,自己一馬當先,率領騎兵直衝敵陣。李世積督發步兵跟進。
夏王竇建德自從繳獲隋帝玉璽及皇家儀仗,感覺天命歸心,一切均按皇帝的儀禮制度。這日曉前出兵,沒來得及行早朝典禮。當下傳詔,文武百官舉午朝參見夏王。夏軍佈陣已經半天了,唐軍龜縮不應戰。文武百官朝覲夏王竇建德,在中軍大帳議論軍政大事。
夏王竇建德中軍大帳之南,有騎兵從鵲山坡衝擊中軍。又報中軍大帳之北,有大批騎兵衝殺。西邊正面戰場十萬步兵,鼓聲隆隆,喊殺聲震天動地,兩軍步兵混陣纏鬥。秦王世民率領騎兵殺開一條血路,不與夏軍步兵纏鬥,直奔夏王竇建德的中軍大旗。
夏王竇建德怎麼也想不到,自己的中軍大帳直接受到三個方向的敵軍騎兵衝擊。混戰之際沒了陣列,騎兵對抗步兵,猶如滾瓜切菜。
混戰之際,唯有用騎兵對抗敵軍騎兵。夏王竇建德把寶貴的騎兵佈置在後陣,擬在兩軍交戰之際作奇兵機動使用。
竇建德急召後陣騎兵阻擊唐軍。大軍陣中本有預留的一條中央大道,供戰時前後調兵增援的通道。豈料正值夏王竇建德午朝,文武百官散朝歸營歸陣,各自帶有騎士衛隊。文武百官及衛隊人數眾多,亂七八糟佔據了中央大道。後陣騎兵迎戰通道被堵,急忙疏通大道,可惜為時已晚。夏軍整個大兵陣已被唐軍騎兵穿插切割。
夏王竇建德所統的徐圓朗兵見勢不妙,溜之大吉。滑州兵家鄉更近,乘亂遁逃回鄉。一陣子潰散幾萬人馬。
年輕的淮陽王李道玄,馳馬衝陣奮勇爭先,為秦王世民衝鋒開路,直出夏軍陣後樹起唐軍大旗。李道玄身掛鐵甲,外套皮甲,矢箭幾十支穿透皮甲,倒掛如同剌蝟毛。戰馬中箭受傷不能馳騁,秦王世民囑令衛士,把自己的備用馬給了李道玄,使其上馬再戰。
夏軍已亂,唐軍已經掌握了戰場主動權。秦王世民傳令,各位將軍,各府各團各自為戰,左進右出,右進左出,在夏軍陣中陣後都樹起了唐軍旗幟。
夏王竇建德從未遇到如此混亂戰場。王呼不到將軍,將官們呼不到自己的兵。夏軍將士們只有各自逃命。
夏王竇建德於亂軍中受了傷,策馬逃向板渚宮城。唐軍的兩個副將緊追不捨,到了板渚相鄰的牛口渚,竇建德傷痛墜馬。唐軍的白將軍認為是個夏軍的啥大官兒,舉槊便刺,欲要割下其首級報戰功。
夏王竇建