武德八年,突厥侵扰太原,李渊任命李靖为行军总管,带领江淮数万将士前去抗敌。当时好多将领都战败了,只有李靖毫发无伤。李世民即位后,突厥众叛亲离,李世民就想将突厥一网打尽,任命李靖为定襄道行军总管,带领锐卒三千骑从马邑郡直趋恶阳岭(在今内蒙古和林格尔县)。
颉利可汗大吃一惊,说道,如果唐军不是倾国而来,李靖怎么敢带这么点人孤军深入。于是人心惶恐。李靖又派间谍离间颉利可汗的亲信,半夜击破定襄(今山西省忻州市定襄县),颉利可汗跑到了碛口(今内蒙古二连浩特西南)。李世民称赞道,西汉李陵率领五千步兵深入大漠,但是最终投降了。李靖却带三千铁骑喋血虏庭,可谓亘古未有,足以洗雪我渭水谈判的屈辱。
颉利可汗跑到铁山,派遣使者谢罪,希望投降李唐。李世民派李靖前去接收,又派鸿胪卿唐俭前去安抚。李靖跟副将张公瑾说,如果谈和的使者到了突厥,突厥人肯定不会防备。我们带一万骑兵二十天干粮,大白天突袭他们,肯定大功告成。张公瑾说,但是皇上已经跟颉利可汗约降,人都在路上了,咋整。李靖说,机不可失。当年韩信就是这么战胜齐国的。至于唐俭之辈有啥可惜的,死就死了。于是督兵疾进,路上遇到突厥的巡逻兵一律抓起来一起走,到了颉利可汗营帐七里之地才被发觉,颉利可汗部众不战而走,被斩杀一万多人,俘虏上十万。颉利可汗也被抓获。从此大唐疆域从大青山脚下一直延伸到漠北。
李靖得胜还朝,遭到了御史大夫萧瑀的弹劾,说他目无军纪,让士兵们大肆抢掠,好多珍宝没有上缴国库。李世民于是把李靖叫来骂了大半天,李靖啥话都没说,只是顿首谢罪。李世民后来放缓了语气说,隋朝史万岁破达头可汗,隋文帝不赏而诛,我跟他不同,赦公之罪,录公之功。赐绢千匹,增户至五百。又说,怪不得那么多人在我跟前说你的坏话,今天我算是明白了。加赐帛一千匹,迁尚书右仆射,也就是宰相。其实李世民并不想惩罚李靖,只是李靖把唐俭的命看的一文不值引起了文官集团的反感,李世民为了平息文官集团的愤怒,骂了他大半天给这帮人出气的。李靖也明白这个理,所以一句话都没有辩解。
但是后来李世民跟李靖讨论过这事。李世民问,当年我派唐俭出使突厥,你趁此机会将其击败。人们都说你用唐俭做死间,我到今天也没弄明白,到底是不是这回事。李靖再拜,说道,我跟唐俭也是多年共事的老同事,知道他几斤几两,他肯定说服不了突厥臣服,所以带兵前往。
这就叫除大害不顾小义。人们都说我用唐俭做死间,根本不是这回事。《孙子兵法》早写了,打仗用间谍那是最下策。我曾对此有批注,水能载舟亦能覆舟。或用间以成功,或凭间以倾败。若束发事君,当朝正色,忠以尽节,信以竭诚,虽有善间,安可用乎?唐俭小义,陛下何疑。李世民说你对。只有仁义之人才能熟练使用间谍,这事不是小人能玩转的。当年周公还大义灭亲,何况唐俭只是一个使者。我现在弄明白了。其实李世民从一开始就明白,只是装糊涂而已。