开皇初年,吐谷浑曾出兵入侵弘州,隋文帝以元谐为元帅,其余将领有行军总管贺楼子干、郭竣和元浩等。元谐率步骑兵数万人出击吐谷浑,吐谷浑国王吕夸征发国中的全部士兵,自曼头至于树墩,骑兵络绎不绝,吕夸所属的河西总管、定城王钟利房也率兵前来抵抗,皆被元谐击败。隋军追击三十余里,斩杀俘虏万余。吕夸大为恐惧,率领亲兵远逃。按照计划,元谐不再追击,派使者到吐谷浑,招其投降。善后事宜安排妥当后,隋军撤回,命大将贺楼子干驻扎凉州(今甘肃省武威),防止吐谷浑再次进犯。
不久,吕夸又前来入寇边境。旭州刺史皮干信出兵抵拒,被吕夸击败,皮干信战死。汶州总管梁远率精兵出击,斩首千余级,吕夸逃奔。不久,吕夸率众入寇廓州(今青海贵德南),被州兵击败逃走。吕夸在位多年,屡屡因喜怒无常,“废其太子而杀之”。后来,所立太子惧怕被废辱,便谋划拘执吕夸向隋朝投降,向隋朝边境的官吏请求援兵。河间王杨弘请求率兵应援,隋文帝又是不予允许。吐谷浑太子的阴谋泄露,被其父吕夸所杀,又立少子为太子。
开皇六年(586年),太子惧怕被父吕夸诛杀,率15000人投奔隋朝,请求派兵迎接,为此,隋文帝对左右大臣道:“吐谷浑的风俗,有异于常人的伦理,父既不慈,子复不孝。朕以德训人,怎能成就嵬王诃的恶逆,我当用做人的正道教导他。”
于是,隋文帝对嵬王诃派来的使者说:“朕受命于天,抚育四海,希望使所有的人都能向往仁义。况且父子之训的情感,本出于天性,何得不相亲相爱?吐谷浑既是嵬王的父亲,嵬王是吐谷浑王的太子。父亲有所不是,做儿子的需进行劝谏。如果劝谏而不听从,当令近臣亲戚从内外用委婉的话进行劝说。若再不听从,便哭泣劝谏。人都是有感情的,如此定能使父亲感动省悟。不可暗中谋划非法的事,落得个不孝的名声。嵬王既然是一片好意,想要来投奔朕,朕唯有教嵬王为臣子之道,不可能向远方派出兵马,助他人做恶逆的事。”嵬王听到使者的回报后,便中止了投靠隋朝的谋划。
开皇九年(589年),隋文帝平定南陈,势力强盛,吕夸大为恐惧,逃通向据守险隘,不敢再骚扰隋朝边境。开皇十一年(591年),吕夸其子伏立为吐谷浑王,伏派兄子无素奉表向隋以藩自称,向隋朝贡献特产,请求献女儿充实隋天子的后宫。隋文帝说:“这并非是至诚之意,不过是权宜之计而已。”于是,隋文帝终于没有答应吐谷浑王献女的请求。
开皇十二年(592年),隋文帝派刑部尚书宇文弼安抚慰问吐谷浑王。开皇十六年(公元596年),隋文帝以光化公主为吐谷浑王妻,伏上表称公主为天后,文帝不予允许。吐谷浑是隋王朝西部边境的强敌之一,吕夸曾多次率众入寇边境,隋文帝派兵将其击退。隋文帝西和吐谷浑的政策,亦有助于隋王朝消除在西部的威胁。
隋文帝对四面的威胁,采取了各个击破的策略。宇文阐被害后,隋文帝觉得少了很多后顾之忧,于是下令还击突厥。
开皇二年(582年)4月,隋朝大将韩僧寿,在鸡头山(今甘肃省平凉一带)与突厥遭遇,杀得敌人溃不成军;上柱国李充,在内蒙古狼山和阴山斩杀敌人数千。这只是两场小规模的战役。5月,高宝宁引领突厥大军攻入平州(今河北省卢龙北)。同时,沙钵略动员五大可汗,武装40万大军,杀入长城以南,揭开了大规模战争的序幕。6月,上柱国李充在马邑(今山西省朔州市)击败突厥军,突厥再攻兰州,凉州总管贺楼子干击溃突厥军。捷报频传,文帝大喜,下诏奖励有功者。
10月,西北长城沿线突厥越来越猛,攻破重要木峡、石门两关,之后分兵南下,越过六盘山,向渭水、泾水流域挺进,长安暴露于突厥兵烽之前。此外,东部战线也遭受重创,高宝宁大军攻破长城,进入幽州,打败隋将李崇。就在此时,文帝因日夜操劳,一病不起,只好让太子杨勇驻扎咸阳(今陕西省荥阳县)。
12月,文帝派沁源公虞庆则驻扎弘化(今甘肃省庆阳县),防备突厥入侵。行军总管达奚长儒率兵两千出击,和沙钵略可汗在周盘(今甘嘲省青阳县南)相遇,突厥有十余万人。
达奚长儒镇定自若,指挥作战。随后,达奚长儒边战边退,军队一次次被突厥冲散,又一次次聚拢来。隋军与突厥激战3天,会战14次。达奚长儒身先士卒,身上多处受伤。在这样的气势下,突厥军大乱,于是隋军解围撤退。
文帝听到达奚长儒的英雄事迹后,大为感动,下诏擢升他为上柱国。而此时的长孙晟在突厥进行的“反间计”成功,形势渐渐朝着有利于大隋的方向发展。沙钵略继汗位时,突厥内部矛盾非常激烈,叔侄之间,兄弟之间互相猜忌。外部局势也很不利,东方高句丽与突厥为了争夺契丹等族,屡屡发生战争。突厥面临着前所未有的内忧外患。而隋朝的猛烈反攻,也让突厥每前进一步都要付出沉重的代价。
在突厥与隋战事紧张之时,长孙晟却出现在沙钵略的侄儿染干面前,悄悄地对着染干耳语了几句。话说到一半,染干已颜色大变,急忙冲进沙钵略帐中,涨红着脸说:“据密报,北方铁勒造反,正准备袭击我牙帐。”沙钵略信以为真,急急忙忙地撤回了漠北。突厥被长孙晟的一个“谣言”给吓退了,强大的突厥终于不战而败。
开皇三年(583年)春天,突厥南下掠夺。开始只是小股人马,到了4月,突厥大军浩浩荡荡进犯隋朝。4月,文帝下诏历数突厥桩桩罪恶之后,发兵征伐突厥。隋文帝下达讨伐突厥诏书后,任命杨辩为行军元帅,分8路出塞进击。杨巍督率总管李充等4将出兵朔州道(今山西朔县),与沙钵略可汗相遇干白道(今内蒙呼和浩特市北)。总管李充对卫王杨爽说:“突厥贪求速胜,必定轻视我军而无有防备,如用精兵袭击,可以击败他们。”众将领对于李充的建议大多持怀疑态度,唯有长史李彻表示赞成。于是,杨爽拨给李充士兵5000,向突厥发起突然袭击,果然把敌兵打得大败。为逃脱危险,沙钵略抛弃了所佩带的金甲,藏于草丛之中而逃遁。突厥军中无粮,粉碎兽骨用以充饥,再加上遇到疾疫,突厥军队死亡甚多,强盛的突厥由盛转衰。
此后,幽州总管阴寿帅步骑兵10万出兵卢龙塞,进击高宝宁。高宝宁求救于突厥,突厥正在防御隋军,无力救援。后高宝宁弃城逃奔漠北,和龙各县全部平定。阴寿悬重赏购买高宝宁的人头,又派人离间他部下的心腹人物,高宝宁逃奔契丹,被部下所杀。
5月,隋行军总管李晃进军摩郡度口,击败突厥军队。隋秦州总管窦荣定率领9位总管的步骑兵共3万人出兵凉州(治所在今甘肃武威),于高越腺与突厥阿波可汗相拒,阿波屡战屡败。前上将军、京兆人史万岁,因犯罪被发配到敦煌(今甘肃敦煌西)充当戍卒,此时,他到窦荣定的军门,请求报效国家。窦荣定很早便闻知史万岁的大名,见到后十分高兴。双方将要交战,窦荣定派人对突厥说:“士兵们有什么罪过,驱使他们死于疆场,只应双方各派出一名壮士以决一胜负。”突厥同意,派出一名骑兵出阵挑战。窦菜定派史万岁出阵应战,史万岁策马飞奔,将那名突厥骑兵斩首而还。突厥大惊,于是请求结盟,引兵离去。
长孙晟当时在窦荣定军中任副将,他派使臣对阿波可汗说:摄图每次前来,交战都是大获全胜。而可汗才领兵交锋,立即遭到失败而逃奔,这是突厥的耻辱。况且摄图与可汗相比,军事力量本来相当。如今摄图天天获胜,受到众人的崇敬;可汗出师不利,为突厥同带来耻辱。摄图必定将罪名加在可汗的头上,实现他长期以来的计谋,消灭可汗在北方所设立的牙帐。愿可汗认真地为自己考虑一下,能抵御住摄图吗?阿波可汗果然派使臣前来商议,长孙晟又对阿波可汗的来使说:如今达头可汗与隋朝联合,而摄图不能制止,可汗为何不依附隋朝,连接达头可汗,相互合作,转为强盛,这才是万全之计啊。怎可以丧兵负罪,回到摄图那里受他的杀戮和侮辱呢?阿波可汗听过使臣的汇报,认为长孙晟讲得在理,便派使臣随同长孙晟进京朝见隋文帝。
阿波可汗与隋朝讲和,沙钵略可汗听说后大怒,便发兵进攻阿波可汗的牙帐,虏掠其众并残忍地将阿波可汗的母亲杀死。无家可归的阿波可汗只好奔向西面的达头可汉,借兵10万,东击沙钵略,收复了故地和数万民众。达头可汗遂于阿波可汗联合起来,占有西域一带,史称西突厥。沙钵略可汗和弟弟处岁侯则在东部,称东突厥。于是,突厥正式分裂。
突厥内部的相继内乱,连兵不已,都各自向隋朝派出使者到长安求和并请求援兵。隋文帝一概不予允许。六月,突厥军队侵掠幽州,隋军转战10余日,死伤甚多,于是退守砂城。突厥大军围城,城墙荒废倒塌,难以固守,早晚苦战,军中又无粮食补给,只得于夜晚出城掠夺敌军的六畜、粮食来充饥。突厥担心隋军夜袭,做了周密的防备,每天于夜间结阵防范。幽州总管李崇的军队困苦饥饿,夜间出城劫掠,总会遇到敌军的截击,死亡殆尽。待到天明,从城外逃回城中的尚有百余人,然而大多已身负重伤,无力再与敌人作战。突厥想要逼迫隋军投降,派使者对李崇说:“如果前来投降,射你为特勤(突厥的高缎官员)。”李崇自知难免一死,便向士卒们下令说:“我奉崇丧失军队,罪该万死,今日效命疆场,用来报效国家。你们待我死后,暂且向敌人投降,然后分散逃走,想办法返回乡里。如能见到阜上,禀告我李祟的这番心意。”于是,李崇举刀突入敌阵,又杀死二人,被突厥乱箭射死。七月,任命隙州刺史周摇为幽州总管,命李崇的儿子李敏承袭父亲的爵位。八月,隋文帝派尚书左仆射高颎出兵宁州道(在今甘肃泾川东北),内史监虞庆则出兵原州道(在今宁夏南部),攻击突厥。
开皇十四年(584年)2月,突厥归顺隋朝,西突厥的达头可汗派使者到隋朝致歉。9月,东突厥沙钵略可汗在和隋朝的几次激战中,损失惨重,已处于苟延残喘的地步,遂向隋朝求和。沙钵略的夫人千金公主也放下杀父的仇恨,自动请求改姓杨。文帝派徐平和前往突厥,以正规的礼仪认千金公主为干女儿,改封大义公主。晋王杨广请求乘突厥内乱出兵袭击,隋史帝不予允许。