当时,定襄城(今大同市西北)是东突厥的大本营,隋朝灭亡以后,突厥把隋炀帝的皇后萧后及齐王之子杨政道收留在这里,并立杨政道为隋王。凡跑到突厥的汉人,都由杨政道统管,颉利可汗也在定襄城一带驻有重兵,多次对唐朝进行骚扰。
唐高祖武德四年(621年)四月,颉利可汗率领骑兵一万与刘武周旧部苑君璋将兵六千,联合进攻雁门郡(今代县),被唐将定襄王胡大恩击退。第二年春,突 厥发生饥荒,唐朝派胡大恩与独孤晟带兵讨伐苑君璋,约定于二月会师马邑。期限已到,不见独孤晟带兵到来,胡大恩带兵驻到新城,颉利可汗派数万骑兵联合刘黑 闼围攻胡大恩,唐军大败,战死数千人,胡大恩阵亡。六月,颉利可汗率领五万骑兵南下一直攻到了汾州(今汾阳)。
武德八年(625年)七月,颉利可汗集中了十余万骑兵,大肆掠夺朔州,然后带兵南下,袭击太原,张瑾全军覆灭,只身逃走。第二年七月,突厥十余万骑兵从武功进入唐境,唐朝京城戒严。
尽管突厥多次骚扰,但唐与突厥仍还保持着友好往来的关系。贞观元年(627年),突厥遭受雪灾,颉利可汗害怕唐朝乘机袭击,引兵进入朔州,名义上说是打 猎,实际上是预防唐军的进攻,之后,突厥表面与唐和好,但又支持梁师都屡次进犯唐朝,于是,李世民加紧练兵备战,做好战争准备。
贞观 三年(629年),突厥连年遭灾,六畜多死,统治分化瓦解,互相叛离。唐代州都督张公瑾具体谈到进攻突厥的六条有利条件。 颉利纵欲逞暴,诛忠良、亲奸 佞,这是第一条。薛延陀等诸部背叛,这是二。突利、拓设、欲谷设都得罪了,无所自容,这是三。塞北霜旱,粮草乏绝,这是四。颉利疏其族类,系委诸胡,胡人 反复,大军一临,必生内变,这是五。我们入北,其人数众多,比闻所在啸聚,保据山险,大军出塞,自然响应,这是六 (《资治通鉴》卷一九三)。李世民听从 了大臣们的意见,派遣兵部尚书李靖为定襄道行军总管、并州都督李世责力为通漠道总管,华州刺史柴绍为金河道行军总管,灵州大都督薛万彻为畅武道行军总管, 率领十余万大军,向东突厥进攻。其时,定襄城由颉利可汗驻兵把守,防守严密。为了攻取定襄城,李靖没有采用大兵进行围攻,而是采取了突然袭击的战术。第二 年农历正月,李靖率领精锐骑兵三千,从马邑北进,首先出其不意地占领了定襄城南的重要战略据点 恶阳岭。突厥颉利可汗没有想到唐军会如此神速到来,大为 惊恐地说: 你们不全部来,李靖竟敢一支军队来? (《新唐书 李靖传》)李靖利用突厥的恐慌心理,暗中派人进入定襄城活动,说服颉利可汗手下的头领康苏 密,带领萧后及杨政道一起归顺了唐朝,从而削弱了定襄城的力量,然后,在一天夜晚,李靖带领精兵突然袭击,一举攻破了定襄城。颉利可汗从定襄城逃走,退保 铁山。与此同时,李世绩则率领另一路唐军出兵云中,与东突厥战于白道,也获得胜利。在唐军大兵压境、节节胜利的形势下,颉利可汗派使臣来唐朝谢罪,请求继 续和好。唐太宗李世民派唐俭、安修身持节安抚,并命令李靖前往招降。李靖带兵在白道与李世责力相会后,两人商议说:颉利可汗表面请求投降,实际是想以此作 为缓兵之计,等草青马壮,退到漠北再发展势力。突厥兵马还有很多,如果退到漠北,道远路阻,难于追及,就会养成后患。现在,唐俭、安修身去后,突厥防务必 然放松,我军随后袭击,可以不战而胜。他俩把计策对张公瑾说后,张公瑾说:诏书已答应突厥投降,唐朝使者也去了,怎能再袭击。李靖说,这正是韩信灭齐国的 计策,时机不可错过。于是,李靖带领一万精兵,二十天的干粮,从白道进军,李世责力率军随后增援。果然,不出所料,颉利可汗放松了警惕。唐军前进到距颉利 驻地十五里时,才被发现。颉利仓促应战,部下纷纷溃败。结果,突厥被唐军杀死一万多人,俘虏了颉利的儿子叠罗施和突厥人民十余万口,颉利的妻子隋朝义城公 主也被唐军杀死。颉利带领万余人准备逃往漠北,李世责力带领部队在碛口堵住颉利返路,又俘虏了五万多突厥人。颉利大酋长也率领部下投降了唐朝。其后,颉利 投奔苏尼失部沙钵罗设,唐将张宝相率师进攻沙钵罗设,俘虏了颉利并押送到京城,苏尼失率部投降,从此恒安、定襄及漠南之地尽归唐朝。
定襄之战,给东突厥族以沉重打击,从此,东突厥灭亡。李靖也因这次战争被晋封为代国公。李世民说:李陵以步兵五千攻打匈奴,兵败投降,还被史书歌颂。李靖以三千骑兵攻取定襄城,这是从古未有的事,足可以洗掉我在渭水之战的耻辱,可见这次战争的重要性及其深远的影响。