“渭水之盟”之后,李世民加紧训练将士,每天召集几百名将士在殿前练习弓箭,没用多长时间,便练出了一支攻防俱精的军队。
公元628年,北方因一场大雪而发生了严重的饥荒,东突厥的牛羊被冻死和饿死很多,颉利可汗趁机加紧对其他部族进行掠夺和压迫,引起了各部族的反抗。颉利派他的堂兄弟突利去镇压,反被打得大败而归。颉利追问突利丧师之罪,将其痛打,突利挟羞带愤,率部下投到了唐朝。李世民抓住这个时机,派出李靖、李勣(即徐世勣,因功被赐李姓)等4名大将率领大军10多万,由李靖统率,分路出击突厥。
公元630年正月,李靖率骑兵趁黑夜攻下定襄,李勣在白道(今内蒙古呼和浩特市北)大破突厥。颉利既败,怕唐军继续追赶,卑词请降作缓兵之计,在阴山休养生息,准备进入漠北。李世民一面派唐俭到突厥表示安抚;另一方面,又命令李靖带兵前去察看颉利动静。李靖与李勣会师白道,合谋进兵。他们挑选了1万精兵,每人带20天的粮食,一路跟踪到了阴山。唐军乘夜出兵,李靖在前,李勣在后,在阴山俘获突厥1000余帐。
当时,唐朝派遣的议和使臣唐俭正在突厥营中,颉利可汗毫无战争准备。当唐军发起攻击时,突厥兵无力应战,纷纷溃逃。此战,突厥兵被杀死1万余人,俘虏10余万人,缴获牲畜数十万头。颉利可汗乘千里马逃跑,被李勣堵住归路,颉利无法北归,转而带败兵逃到小可汗苏尼失的居地灵州(今宁夏灵武西南),苏尼失把颉利执送唐军,率众投降。
阴山之战,唐军大败东突厥,提高了李世民在西北各族中的威信。