此时,西突厥的达头可汗见自己的死对手沙钵略和隋朝关系有所缓和,也随即向隋朝请求和亲,文帝答应了和亲的请求。从此,隋朝和突厥以翁婿互称。其实,沙钵略骨子里并不是真心降服大隋,他虽和文帝翁婿相称,但是根本没把大隋放在眼里,仍以突厥汗国的君主自居。后来,文帝派尚书有仆射虞庆则和车骑将军长孙晟出使突厥颁发招降诏书。
当虞庆则率领使到达突厥沙钵略可汗的牙帐时,沙钵略陈兵接待,陈列宝物,坐着接虞庆则,声称有病而不能起身,并且说:“自我父辈以来,从不拜见他人。”虞庆则对于沙钵略的傲慢无礼提出指责,并向他晓之以礼。千金公主在一旁私下对虞庆则说:“可汗豺狼成性,过于相争,将会咬人。”副使长孙晟见沙钵略奉诏不肯起身答拜,便进前说:“突厥与隋具是大国天子,可汗不起身,安敢违意。可贺敦(突厥可汗的妻子称”可贺敦“为帝女,那么可汗便是大隋皇帝的女婿,怎可以不尊敬妇翁。在长孙晟的理喻之下,沙钵略便笑着对自己的显贵们说道:须拜妇公,我从之耳。”于是跪受玺书。沙钵略说:能作为大隋天子奴仆,是得力于虞仆射啊!于是向虞庆则赠马千匹,并以叔伯妹妹嫁与虞庆则为妻。
沙钵略致书隋文帝之时,正是他被西突厥达头可汗与阿波可汗联兵所困扰之际。他又畏惧东方的契丹,便派使臣向隋朝告急,请求率部众渡世大漠以南,寄居于白道川(今内蒙古呼和浩特市北)内。隋文帝下令允许,并命令杨广率兵救援,给予衣食,赐给车服鼓吹。有了隋朝的援助,沙钵略可汗率兵西击阿波可汗,将阿波击败擒获。隋军参与攻击阿波,击败后将俘获全部给予沙钵略。沙钵略十分高兴,与隋王朝订立和约,以碛(沙漠)为边界。沙钵略为此向隋文帝上表,表中有“伏惟大隋皇帝,真皇帝也”,“永为藩附”、“北面之礼,不敢废失。当令侍子人朝,神马岁贡,朝夕特承,惟命是视”等语。后“沙钵略大悦”,于是“岁时贡献不绝”。
开皇七年(587年),沙钵略可汗去世,隋文帝为此“废朝三日,遣太常吊禁焉”,赐布帛5000段。沙钵略因其子雍虞间懦弱,遗令其弟叶护(“叶护”是突厥的高级官职)处罗侯为可汗。雍虞间派使者迎接处罗侯,将要立他为可汗。处罗侯悦:“我突厥自从木汗可汗以来,多是以弟弟代替哥哥,以庶子夺取嫡子的王位,失于先祖构法,不敬重侵惧嫡长,你应当继承可汗王位,我不会以拜见你为介意。”“叔与我父,共根连体。我是枝叶,怎可以使根本反而服从于枝,叫叔父屈从于卑幼呢?况且这是先父的遗命,怎可以废置呢?愿叔父不要再疑虑了。”雍虞闻再三辞让说。最终处罗候立为可汗,是为莫何可汗。莫何可汗立瘫虞间为叶护,派使者上表隋文帝汇报此事。隋文帝派车骑将军长孙晟持节封立处罗侯为莫何可汗,并赏赐鼓乐、幡旗等物。处罗侯“勇而有谋”,立为可汗后,以隋王朝所赐给的旗鼓西征阿波可汗。西突厥因处罗侯得到隋朝的援兵,各部落大多前来归附,生擒阿波可汗。不久,处罗候上书隋文帝,请示对阿波是否处以死刑,文帝令大臣们议论此事,乐安公元谐请就地斩首,武阳公李克请押至京师,斩首示从。
隋文帝询问长孙晟:“卿的意见如何?”“若是突厥背信弃义,须用刑罚来整治。如今是兄弟之间相残杀,阿波的罪恶并非是背叛大隋国家。趁着阿波在困穷的时候,将他取来杀戮,恐怕并非是安抚远方的方法,不如使双方都能保存下来。”长孙晟叫答。“骨肉之间相互残杀,这对教化最为有害。应当对阿波存留教养,以表明朝廷的宽大为怀。”左仆射高颎赞成长孙晟的意见。隋文帝听从了长孙晟、高颎的意见。高颎向隋文帝敬酒,说道:“自轩辕以来,獯粥(匈奴、突厥的远租)多为边患。今远穷北湃,皆为臣妾,此之盛事,振古未闻,臣敢再拜上寿。”自此,突厥力量逐渐衰弱,彻底向大隋臣服。
开皇八年(588年)12月,莫何可汗率兵西进,攻打邻国,被飞箭射中而亡。东突厥立雍虞间为可汗,是为都蓝可汗。都蓝可汗继立后,每年都派使者向隋天子朝贡。开皇十三年(公元593年),隋文帝将平定南陈时所获的大屏风赐给大义公主(即千金公主)。大义公主虽然受到隋文帝赐姓改封的厚遇,但心中总是以为自己原是北周皇室的公主。彭公刘昶先前娶北周皇室的公主,亡命之人杨钦逃亡到突厥那里后,诈称刘昶同他的妻子想要作乱反隋,派我杨钦秘密告知大义公主,发兵侵扰隋朝边境。都蓝可汗信以为真,便不按时向隋朝贡,经常骚扰隋朝边境。隋文帝派车骑将军长孙晟出使于突厥,私下观察动静。大义公主接见长孙晟,出言不逊,又派同她私通的胡人安遂迦与杨钦谋划,蛊惑煽动都蓝可汗。
长孙晟回到京师长安,将所得情报向隋文帝禀告,隋文帝派长孙晟再次出使突厥牙帐,要求引渡杨钦,都蓝可汗不予交出,说道:“查遍客栈,没有此人。”长孙晟贿赂可汗帐下的姓官,得知杨钦的住所,便在夜间将杨钦捉住,交给都蓝可汗,并乘机揭发大义公主同胡人安遂迦私通的事情。突厥国人都以此为莫大的耻辱。都蓝可汗逮捕安遂迦等人,一同交付长孙晟处理。
隋文帝为长孙晟所获得的成功感到十分高兴,加授他开府仪同三司的官衔。内史侍郎裴矩请求前往突厥劝说都蓝可汗,使令他杀死大义公主。这时,属于北方的处罗侯儿子染干,号称突利可汗,派使者到长安求婚。隋文帝派裴矩对使者说:“应当杀死大义公主,才能答应这门亲事。”突利可汗于是向都蓝可汗说大义公主的坏话,都蓝可汗一怒之下,将大义公主杀于帐中。
都蓝可汗因此向隋文帝上表求婚,朝廷议论时准备答应这一请求。这时,长孙晟说:“臣观察雍虞间(都蓝可汗)反复无常,不讲信义,因为与玷脓(达头可汗)有嫌隙,所以想依重朝廷,虽然同都蓝可汗和亲,最终还是会叛离而去。再说他如果娶了公主为妻,必定会仰仗朝廷的势力,玷厥,染干必将受他的征伐。待到都蓝可汗强大后反叛,恐以后就很难制服了。况且染干是处罗侯的儿子,平素有归服朝廷的诚意,至今已经一代,不久前曾来京求婚,不如答应染干的请求,招令他南迁。染干兵少力弱,容易驯服,使令他抵挡雍虞间,作为边境上的屏障。”隋文帝认为长孙晟的意见很好,又派长孙晟前往突厥,安慰晓谕染干可汗,答应他娶隋公主。
开皇十七年(597年),突利可汗派使臣来长安,隋文帝令使者居于太常寺,然后将宗室女儿安义公主嫁给突利可汗为妻。隋文帝为离间突厥各部,因此对突利可汗施以厚礼,先后派牛弘、苏威、斛律孝卿为使臣出使突厥,突厥派使入朝。为此,雍虞间可汗大怒道:“我,大可汗也,反不如染干”。于是不再向隋朝进贡,多次骚扰边境。
开皇十八年(598年),隋文帝谓令蜀王杨秀出伐雍虞间。开皇十九年(599年),隋文帝命汉王杨谅为元帅,以尚书左仆射高颎出朔州(治善阳,今山西朔县),尚书右仆射杨素出灵州(治回乐,今宁夏灵武西南),上柱国燕荣出幽州(治蓟县,今北京城西南),三路进击突厥。都兰可汗得知隋军来攻,与达头可汗结盟,合兵掩击突利,双方在长城下展开激战,突利可汗大败。都兰尽杀突利的兄弟子侄,然后率部渡河进入蔚州(治灵丘,今属山西)。突利可汗的部落失散逃亡,与长孙晟带领五百名骑兵向南败走。待到天明,行走约百余里,又收拢骑兵数目名。突利可汗与他的部下谋划说:“如今兵败后入京朝见,不过是一个降人罢了,大隋天子还能礼遇我们吗?玷厥虽然与都蓝可汗一同前来攻击我们,但彼此一向无有冤仇。如果前往投奔,必能存恤救济我们。”
4月,长孙晟与突利可汗到达京师长安,隋文帝十分高兴,任命长孙晟为左勋卫骠骑将军,持节护卫突厥。10月,隋文帝封突利可汗为启民可汗,突厥归附于启民可汗的有男女万余人,这时,安义公主已经去世。隋文帝又派长孙晟持节护送宗室女义成公主嫁与启民可汗为妻。长孙晟上奏说:“染干的部落归附的人越来越多,虽地处长城之内,还是受雍虞间的掠夺,不得安居。请将他们迁徙到五原(冶所在令内蒙古河奁地区五原南),以黄河为同守的屏障,在夏州和胜州之间划出400里的地区,令他们居住。”
隋文帝采纳了长孙晟的这一建议。派上柱国赵仲卿在这一地区驻军2万人,来防御选头可汗的侵扰;命代州总管韩洪等人统率步骑兵1万人镇守恒安(今山西大同市西北)。达头可汗率10万骑兵前来人寇,被韩洪率军击得大败。赵仲卿自乐宁使出兵截击,斩首千余。
在隋军击败达头可汗的有利形势下,隋文帝派越国公杨素出兵灵州(治所在今宁夏灵武西南)。行军总管韩僧寿出兵庆州(治所在今甘肃庆阳),大将军姚辩出兵河州(治惭在夸甘肃临夏东北)等,攻击都蓝可汗(雍虞间)。
在隋朝各路大军尚未出塞之前,都蓝可汗被部下所杀,达头自立为步迦可汗,国内大乱。长孙晟上言于隋文帝说:如今官军已临近敌境,多次立有战功,敌虏内部自相叛离,一日主被杀,乘此机会招降安抚,可使突厥全部降服,请求派染干的部下分道招抚突厥全境内的部众。隋文帝采纳了长孙晟的这一建议,投降隋朝的突厥部众果然很多。
开皇二十年(600年)四月,突厥达头可汗率兵侵驰边塞,隋文帝调令军队同时向突厥进击。长孙晟书领降服的突厥人,任秦州行军总管,接受晋王杨广的节制。长孙晟认为突厥人饮用泉水,容易施行投毒的计策。于是派人在上游投毒,突厥的人饮用后多中毒而死。突厥于夜间率兵遁逃,长孙晟乘机追击,斩首千余级。史万岁率军出塞后,到达大斤山,与突厥的军队相遭遇。达头可汗闻知史月岁率军前来,恐惧而退走。史万岁率兵急驰,大破敌军,斩首千级。乘胜追漠北数十里。之后,隋文帝又派赵仲卿为启民可汗修筑金河(今内蒙古托克托东北)、定襄(今山西人同市东北)两座城池。都蓝可汗被杀后,启民可汗已全部占有东突厥的故地。
仁寿元年(公元601年)正月,突厥步迦可汗入侵边塞,代州总管韩洪下恒安(今山西凡同市东北)被突厥击败,被废为庶人。五月,突厥男女9万人前来投降隋朝。十一月,诏令杨素为云州道行军元帅,长孙晟为受降使者,挟启民可汗向北方进击步迦可汗。仁寿三年(公元603年)九月,突厥步迦可汗部下大乱,附属的铁勒、仆骨等余部背叛步迦并投奔启民可汗。步迦由于部众逃散离去,便向西投奔吐谷浑。西突厥势力从此衰落,而东突厥启民可汗年年朝贡隋天子。
至此,隋文帝征服了吐谷浑、高宝宁和突厥三国势力。之后,陈朝成为隋文帝统一的最后一个障碍。