李靖这边计划非常周详,换了一般人也就上当了,可是颉利可汗也是聪明人,凭着以往的经验他知道没那么简单,李靖决不会是来送死的,因此做出了李靖身后必然有唐军主力的推论,于是连忙率部北撤至碛口(今内蒙古呼和浩特北与沙漠交界处)。李靖一看计划有变,当即立断改变作战方案,一面率部于其后尾随,一面派遣了大批间谍对颉利部众进行离间,颉利国内本已不稳,这一招果然见效,颉利亲信康苏密等立即挟持隋场帝萧皇后及其孙杨政道前来归降。此时李世绩率领的唐军主力亦杀到,颉利可汗一见唐军主力仅有十万,于是大胆率主力与唐军会战于白道(今内蒙古呼和浩特北),唐军奋战之下突厥惨败,颉利只能率残部退守阴山。李靖则率骁骑穷追不舍,二月八日,李靖与颉利大战于阴山脚下,颉利又败,只得北逃至铁山(今内蒙古固阳北)。此时颉利知道再这样打下去肯定要完蛋,可是突厥马匹瘦弱,比速度一定会吃亏,根本逃不了多远。
现在唯一的活路就是逃往漠北,可是沿途荒无人烟皆是沙漠,凭突厥现在的状态根本不可能逃出生天。于是颉利立刻派使者执失思力入朝谢罪,表示愿意举国内附,亲自入朝。这个做法自然是缓兵之计,使者从铁山到长安相距千里,一来一回就要月余,唐朝使者来了之后再想法拖延一段时间,很容易就能将时间拖至四月,而中国农历的四月基本相当于现代历的六月,此时草青马肥,天气回暖,突厥人便能恢复长途跋涉的能力,逃往漠北。此时颉利尚有数万死忠战士、十余万部众,加以时日卷土重来并不是难事。颉利的算盘打得挺好,中国历朝历代的皇帝最容易在这上面犯迷糊,李世民虽然非常精明,但是颉利愿意亲身入朝的说辞也使李世民相信了颉利是真心投降,于是派了鸿胪卿唐俭、将军安修仁为使者至颉利处慰抚,又派李靖迎接突厥部众归降。
可惜颉利这个算盘能瞒得过别人却瞒不过李靖,正所谓聪明反被聪明误,李靖与李世绩一合计,觉得朝廷派使者来受降正是个好机会,正好将计就计把突厥彻底打垮。可是这事好说不好做,朝廷既然已经同意颉利的请降,下面将领再去攻打等于是抗旨,一般将领决没有这种胆量。因此当时李靖的副将张公瑾就表示了反对,认为诏书已经许降,使者又在突厥大营中,怎么能贸然就去攻打呢?李靖却当即立断地说:“韩信攻灭齐国就是用这个方法,比起消灭突厥人,唐俭区区一个使者又算得了什么?”于是李靖亲自挑选了一万名精锐骑兵,带了二十天的干粮就趁夜急袭颉利大本营,而李世绩则率主力于其后进发,封堵突厥人北逃的要道碛口。唐军奔袭至阴山之时,正遇到一个数千帐的突厥部落,为了不暴露突袭的意图于是将他们全部俘虏后裹挟随军。此时颉利方面一看苦苦等候的唐朝使者终于到来,终于完全将心放下,彻底地放松了警惕。似乎冥冥中就是要让唐军取得这次胜利一般,天上又下起了大雾,等突厥人察觉之时,唐军距突厥人的大本营仅有七里之遥。
凄厉的报警之声响彻夜空,突厥营地立时大乱,而唐军却如天兵天将一般猝然杀到,为首的一员猛将便是那演义中的大反派,淤泥河乱箭射死罗成的苏定方。颉利大惊失色,知道图谋已被唐军识破,连忙乘千里马逃窜。首领逃窜使得突厥部众军无战心,乱成一团,李靖趁机麾军掩杀,斩首万余级,俘突厥男女部众十余万,获杂畜数十万,杀隋义成公主,擒获其子叠罗施。颉利率亲信一路逃至碛口,却被李世绩的唐军主力等个正着,颉利只能折而向西,突厥贵族酋长们眼见大势已去于是纷纷跪地请降,李世绩俘虏了五万余口突厥部众而还。西逃的颉利一路奔至驻守灵州附近的沙钵罗设(这里沙钵罗是称号,设是官名)阿史那苏尼失处,企图由此南下,往依吐谷浑。而屯驻灵州的大同道行军总管李道宗闻讯后,一面派人威压阿史那苏尼失捉拿颉利,一面发兵北进。颉利非常精明,一见形势不妙慌忙连夜逃遁,藏匿于荒谷之中。阿史那苏尼失恐怕李道宗兴师问罪,率兵搜捕,终于擒获颉利。三月十五日,大同道行军副总管张宝相进至阿史那苏尼失营寨,将颉利执送长安,阿史那苏尼失亦举兵归降。
此战后东突厥汗国作为一个政权被彻底灭亡,唐帝国斥地自阴山北至大漠,唐帝国赫赫武功使得“单于稽首,交臂藁街,名王面缚。归身夷邸,襁负而至,前后不绝。被发左衽之乡,狼望龙堆之境,萧条万里,无复王庭。”自此“天可汗”的名号响彻四方。此后约半个世纪(公元630至682 年),突厥人臣属于中国。和硕?柴达木的突厥碑文上记道:“贵族子弟,陷为唐奴,其清白女子,降作唐婢。突厥之匐,弃其突厥名称(或官衔),承用唐官之唐名(或衔),遂服从唐皇,臣事之者五十年。为之东征向日出之方,西征远至铁门。彼等之克国除暴,皆为唐皇。出力也。”原先被突厥人控制的西域,此时终于开始向新生的唐帝国招手,而为唐帝国打头阵的,正是先前投降的突厥人。
得知李靖大破突厥的消息后,李渊感叹地说:“当年汉高祖被匈奴围于白登,终生没能报仇,我儿子就能把突厥灭了,真不亏我把国家托付给他。”李世民也高兴地说:“当年迫于形势向突厥称臣,这些年我一直痛心疾首,志灭匈奴,坐不安席,食不甘味,如今只一战就灭了突厥,可谓痛雪前耻了。”李世民下旨大赦天下,全国放假五天,李氏父子又召众王、功臣在宫中夜宴狂欢,席间李渊自弹琵琶,李世民亲自起舞,其欣喜若狂之态扑面而来。不过真正的大功臣李靖就没时间去让他狂欢,李靖一回来,御史大夫萧禹、温彦博就上书弹劾他,其罪名是“治军无法,突厥珍物,掳掠俱尽”,也就是说李靖的部下私分了战利品没有上缴国库,至于是什么“珍物”如此受重视就没有记载了。这个罪名可大可小,严重些说就是贪污,碰到法家一派的皇上,砍头都是有可能的。萧禹、温彦博二人都是唐俭的故交,是否有为唐出气的意思不得而知,李世民的处分很有学问。收到弹劾文书后,他驳回了将李靖交司法机关审查的提议,但又当面把李靖狠狠地责备了一番。
这当兵打仗,又是出境作战,古代可没什么“三大纪律八项注意”,士兵劫掠简直是正常现象,就连李世民自己在征高丽的时候对士兵们劫掠的请求也不敢生硬地拒绝,而是变相大肆赏赐缴获物资来代替。这要换了别人,估计当场会大声喊冤。恰巧在隋朝也曾经发生过一件类似的事情,隋朝名将史万岁立下大功之后却被杨素所阻,朝廷没有发下赏赐,结果史万岁这老兄带了几百兵将入朝申诉,在朝堂上大肆发泄自己的不满,结果惹恼了隋文帝,被砍了脑袋。
李靖不单单是没有封赏,甚至还有罪,比史万岁冤多了,可是他却毫无辩解之词,只是叩头请罪,深刻自我批评,老老实实地回家待罪去了。过了一段时间,李世民下诏说,隋将史万岁破突厥有功,不但没得奖赏反而因犯法被杀,我不能学隋朝,李靖的功劳照赏,过错就赦免了。于是封李靖为左光禄大夫,赐绢千匹,真食邑通前五百户。又过了一段时间,李世民亲切接见李靖,说上次批评你是我受了小人蛊惑,现在我想通了,希望你不要放在心上。跟着又赐绢二千匹,还给李靖升官,拜尚书右仆射,此时当年杨素的预言终于实现了。文武合一的风气之下唐代名臣常常是全才,所谓上马管军下马管民,李靖便是其中的代表人物之一,此后唐朝便形成惯例,边疆大将如果功绩卓著便可以入朝为相,即出将入相的由来。