果然,竇軍列陣,自晨至午,士卒疲乏,多坐於地上,並爭飲水,隊伍混亂。李世民令宇文士及率輕騎三百由北向南馳行,並預示他如敵陣嚴整不動,即行回軍,如陣勢動搖,即乘勢衝擊。宇文部行動後,竇軍陣勢動搖,唐軍放牧的馬也恰好回營,唐軍遂全軍衝擊,李世民親率精銳直衝竇軍大營,竇建德正在朝會,倉促應戰,遂大潰敗,唐軍追擊三十裏,俘竇建德及其將兵五萬人。唐軍回師洛陽後,以竇建德示王世充,王不得已請降。李世民一舉兩捷,虎牢一戰而平定夏、鄭兩國。這次戰役的勝利,在於李世民審時度勢堅持既定戰略方針,毫不動搖;在戰役指導上除仍采先疲後打的辦法外,又有試陣方法察敵虛實,且根據不同情況,采用中央突擊竇軍心髒的戰法,都是很出色的。
竇建德被俘後為李淵殺害,激起其舊部劉黑闥等再度舉義反唐。先後擊敗唐將李神通、李世績,俘薛萬均、李玄通等。在不到半年的時間內,又恢複了竇建德故地,以漓州(河北永年東南)為都,自稱漢東王。李世民率軍進擊劉黑闥。武德五年(公元622年)三月,在進行了短期的、互有勝負的一係列戰鬥後,雙方對峙於沼水兩岸。李世民仍采用後發製人的方針,主力堅壁不戰,而派遣部分兵力斷絕劉軍糧道。他判斷劉軍在糧盡後必來決戰,派人在沼水上遊築堰,準備在劉軍渡河時放水。相持六十餘日後,劉黑闥因缺糧被迫南渡沼水強攻唐軍。當渡河時,唐軍決堰並進行反擊,劉軍大敗,“斬首萬餘人,溺死數千人”。劉黑闥率殘部北逃突厥,河北平定。
當年秋,劉黑闥再次進軍河北,為李建成殲滅。江漢地區的蕭銑集團和江淮地區的輔公柘起義軍,也先後為李世民等平定,其餘較小割據勢力紛紛降唐。唐的統一全國戰爭,基本上勝利結束。從戰爭整個過程看,主要的幾支反唐武裝力量,都是在李世民領導的四次戰略性戰役中被消滅的。
武德九年(公元626年)六月,李世民在尉遲敬德、長孫無忌等支持下,發動了“玄武門之變”。殺死長兄、太子李建成及四弟李元吉。李淵被迫“處之元良(太子),委之國事”。八月間李世民正式即皇帝位,李淵退為太上皇。次年改元貞觀。
李淵在位期間,李世民一貫親自統軍,東征西討,衝鋒陷陣。登上皇帝寶座之後,其軍事活動發生了變化,從直接指揮作戰轉為運籌帷幄、對戰爭進行戰略指導。
突厥是北方強大的民族。隋末,全國分裂,突厥利用形勢,時有內犯,使北方各割據勢力多向其臣服。唐朝建國後,突厥進犯不斷,李世民即位後,突厥頡利可汗親率大軍十萬,直抵長安附近,京城戒嚴,李世民因國內尚需鞏固,除嚴陣以待外,以大量財物賂之求和,在渭水便橋,與之訂盟,突厥退軍。以後,突厥連年災荒,牲畜大量死亡,人民逃離;該地的漢族人民,也到處聚結,保據山險。因而突厥內部分崩離析,趨於衰敗。李世民遂派李靖、李績以大軍出擊,突厥全麵崩潰,頡利可汗被俘。突厥亡後,一部北逃,往依薛延陀,一部西逃,進入中亞,向南逃歸附唐朝的約十萬人。李世民采用羈縻政策,保全突厥部落組織,不改變他們的生產方式和風俗習慣,安置在河套一帶,仍從事遊牧生活。同時,還選擇突厥貴族任官,優待頡利可汗。李世民對突厥的這些政策,增加了沿邊各少數民族的向心力,請求臣服,共尊李世民為“天可汗”。此後,又相繼滅掉薛延陀,擊降吐穀渾,平定高昌,戰敗龜茲。唐在歸附的民族地區設羈縻州、府,各由其首領擔任都督、刺史、縣令。這一措施,使唐的邊境更加鞏固。又執行和親政策,屢以宗室公主嫁與少數民族首領,這是羈縻政策的另一種形式,有利於文化、經濟的交流和促進民族間的關係。其中,以文成公主出嫁吐藩王鬆讚幹布,影響深遠,及於現代。
貞德末年,李世民曾利用高麗內訌機會,發動征高麗戰爭,並親自帶軍出征,原擬速戰速決,終以高麗軍民抵抗,數月之久,天寒糧盡,被迫回軍,唐軍頗有損失。貞觀二十二年(公元648年)大置舟艦,準備發兵三十萬,再征高麗,未及出兵,而李世民於次年病死。對高麗的戰爭,是李世民晚年的一次錯誤軍事行動。當時房玄齡曾評之為“所存者小,所損者大”。