光大三十二年(598年)。
四月十五。
帝入洛陽,令發幽、恒、定、冀、營五州百姓六十萬,驢、車二十萬為北伐大軍運軍糧。
詔朔方、恒州、幽州、營州精銳步騎十二萬,悉集安北,以程文季為鎮衛將軍,總北討諸軍事,以楊素為車騎將軍副之。
四月十八。
宣威經略大使蕭摩訶引兵六千救宣德城(今呼倫貝爾),過吐紇山(大興安嶺),突厥貪汗可汗偵知,攜其大眾來擊。
時蕭摩訶老邁,難為突陣之事,幸其麾下有騎將名陳智深者,甚驍勇,蕭摩訶乃遣陳智深引精騎八百,先擊貪汗。
陳智深與士卒奮戰,頻破突厥小陣,然貪汗亦在陣,親督左右騎卒數萬,突厥不敢退,且漸漸聚而攻之,陳智深寡不敵眾,以三百騎還。
蕭摩訶以突厥勢大,引軍還守吐紇山。
四月二十五。
突厥不善為攻城之事,困宣德城二月,數攻城,宣威經略副使薛世雄指揮士卒從容應之,突厥皆無功。
其日,蕭摩訶遣陳智深引百余騎護其子蕭世廉乘隙入城,告城中援軍已至,城中之人士氣大振,城防益固。
四月三十。
帝自洛陽至恒州,為眾軍督糧運之事。
初,帝既志欲平定漠北,命戶部、兵部算其糧草、用兵數目。
于是定北討之事,凡用精兵十二萬,轉輸極處三千里(1200公里),慮將用兵一歲,征人驢車馬八十萬,總用糧一千二百萬石。
用兵之初,恒州已先聚糧二百萬石,幽州已先聚糧四百萬石,其余之糧,則自運河、海上由舟船集于幽州,而后陸運于邊塞。
其陸上運糧之法,大抵大軍前行,每六十里(24公里)則筑一土圍,土圍中鑿池掘井以備水源,又修倉儲、兵站以護存糧米。
每日人馬車驢往來于相鄰兩土圍間,運后一圍之糧米入前圍。
是法既行,北討諸軍,雖兵行于中原三千里外,而糧米不絕矣,故諸將得以從容用兵,百戰百勝。
五月初十。
鎮衛將軍程文季以安北城中糧米已集二十萬石,稍足進軍之用,乃留楊素于城中待后軍,自引精騎五萬,先出漠北。
五月十八。
貪汗可汗圍宣德城數十日,不能克其城,聞陳軍大集漠南,恐后方有失,乃引其眾沿完水河谷(今克魯倫河)游牧而西歸。
時貪汗麾下,有控弦八萬余騎。
五月二十。
楊素留兵萬余守安北城,引步騎六萬,北渡沙漠,徑向突厥牙帳而去。
五月二十三。
初,帝遣程文季經略北方,程文季廣募諜人于突厥中,故貪汗方東還,即有人報其訊于陳。
時程文季方領眾軍行至漠北,得此消息,乃與諸將相商議,諸將皆以為當趁此時機擊破貪汗,不可縱貪汗西歸。
程文季乃從眾人之議,引兵急驅完水河谷。
五月二十五。
貪汗既解宣德之圍西歸,薛世雄與蕭摩訶合兵銜尾追之,貪汗怒,聚兵三萬逆擊陳軍于俱倫湖畔(今呼倫湖)。
蕭摩訶、薛世雄用古法,臨湖布卻月陣以抗之,貪汗不能破,折二千余騎,憤然而去。
蕭摩訶、薛世雄雖破貪汗,以軍糧不足,亦不敢復追。
六月初二。
程文季引軍至于完水河谷,而貪汗尚未至。
程文季于是分遣龍騎將軍來護兒、仁威將軍周法尚各引萬余騎匿于谷外,自引二萬余騎居谷中,以誘貪汗來攻。
六月初六。
貪汗西歸,聞程文季扼其要路,又聞程文季兵少,乃欲引大軍與之會戰。
或有突厥貴人曾歷安北城之戰者,大言“陳軍滿萬不可敵”,極言不可會戰。
安北城之戰時,貪汗尚幼,未曾經歷,以為貴人之言沮眾,乃命左右斬之。
六月初七。
貪汗悉出其眾,擊程文季于完水西南河谷之中(今溫都爾汗)。
臨戰,程文季令眾軍于完水南北結大小數陣,又令突厥兵來,則諸軍惟遠放箭弩射之,并不與其搏戰,若突厥兵迫近軍陣,則諸軍向河谷西南次第而退。
自辰時至于午時,陳軍西退十余里,突厥皆以為陳軍不復當年之勇,將驕兵傲,頗加輕視之。
忽然,陳軍陣后,有煙火數十上百一時俱發,突厥人不知煙火為何物,見煙花綻于空中,皆以為神異。
時周法尚、來護兒匿于南北山谷,見程文季燃煙火,知時機已至,乃引麾下騎卒南北俱出,程文季亦引兵逆擊。
時突厥兵已臨陣半日,又為酷日所烤,皆疲憊,故陳軍新銳之兵來擊,突厥雖力戰,終不能敵。
是日,陳軍大破突厥于完水河谷,俘斬突厥五萬余騎,獲其羊馬數十萬。
貪汗可汗與左右萬余騎西逃,程文季遣周法尚、來護兒率精騎三萬追之。
程文季知帝有經略漠北之意,乃命士卒筑城池于破突厥處,稱靖北城(今溫都爾汗),并自引余眾居其城,以鎮是役所得之突厥降人數萬。
六月十五。
貪汗可汗與其殘部于獨洛水(今土拉河)為陳軍所追及,兩軍戰于獨洛水谷地(今烏蘭巴托東),貪汗復為陳軍所破。
明威將軍魚俱羅擒貪汗于陣,突厥部眾大潰,降者無數。
六月十八。
楊素破突厥小可汗泥利數萬騎于突厥牙帳之東,獲其羊馬十數萬匹。
泥利西遁,楊素分遣輕車將軍李靖、鎮朔將軍張須陀引精銳萬騎追之。
六月二十二。
帝在恒州聞漠北捷報,知貪汗可汗成擒,大悅,晉程文季為食一萬三千戶重安王,命置漠北經略府于靖北城,使程文季兼漠北經略大使。
七月。
陳將李靖追突厥泥利可汗,數破之,而每為泥利所遁,李靖深恨之,追其千余里,尤未止。
時貪汗既被擒,突厥貴人推泥利為大可汗,泥利以為只須多為逃遁之計,待無糧,陳軍自退。
孰料李靖之志甚堅,竟宰馬煮革為糧以追之,終于擒泥利于婆陵水畔(今色楞格河)。
突厥遂亡。
八月。
帝欲控扼漠北,乃分突厥降人及漠北舊從突厥諸番部于突厥舊境置十七宣撫司,九十三安撫司,并使漠北經略府為諸土司勘定牧場疆界,以分而弱之。
復使楊素筑寧朔城(今哈拉和林)于舊時突厥大可汗屬地于斤都山之東。
使來護兒筑定遠城(今烏蘭巴托)于獨洛水畔。
九月。
以漠北經略府轄下之四宣撫司,二十一安撫司分屬恒州、幽州、朔方。
使張須陀筑定漠城(今達蘭扎德嘎德)屬朔方經略府,周法尚筑開平城(今賽音山達)屬恒州。
十月。
帝令在北諸軍留其精銳步騎五萬屯守漠北五城,余部皆班師。
又慮突厥余部或為亂,乃遷漠北突厥精壯三萬于漠南,一萬于嶺北宣慰使,使朔方、宣威二經略府,恒、幽二州安置并監視之。
十一月。
帝去楊素幽、營二州都督之職,改任其為朔方經略大使,使程文季兼幽、恒二州都督。
是月,帝見漠北新封諸土司于恒州,并宴南還將士,大賞功勛。
十二月。
帝東巡幽州,勞為征突厥所發百姓。
時因漠北絕遠,帝駐兵于是,雖不過數萬之眾,而每月仍須自幽州起運糧米五十萬石,方足軍需,其在途轉輸之役夫亦至二十余萬。
群臣或以民力虛耗,勸帝罷漠北戍守,帝以為漠北人心未附,戍守絕不可棄,惟多賜在北諸軍及在途之役夫冬衣錢糧以勞之而已。
突厥貪汗、泥利二可汗入南土,帝以為突厥不臣,其罪在先,不可處之過榮,僅以違命伯、開平子之爵授之。