公元581年,突厥沙缽略可汗率軍聯合高寶甯大舉南下,準備進攻新生的隋王朝。與此同時,南方的陳朝得知突厥南下的消息後,為了擴大都城建康的防禦空間,也開始興兵北上。除此之外,西邊的吐谷渾也借機進攻隋朝的河西走廊地區。一時之間,隋朝面臨着南邊的陳朝,東北方向的高寶甯,北方的突厥以及西邊的吐谷渾,形勢相當危機。
雖然新生的隋王朝忽然面臨來自四面的敵人,但楊堅一眼就看出,這些敵人還都各自為戰,沒有形成抗隋聯盟。但是如果戰争一再拖延下去的話,或許敵人會為了盡快結束戰争而結成統一戰線,形成合力進攻的軍事同盟,那将對隋朝極為不利。

是以,楊堅必須利用寶貴的時間,盡快打破四面敵人的包圍。
楊堅認為南方陳朝雖然進攻聲勢浩大,但内部沖突重重,陳宣帝雖然很想有所作為,但朝廷内部派系林立,而且其軍隊大多是水軍,随着其進攻的不斷加深,陸戰肯定不是隋軍的對手。而吐谷渾雖然能征善戰,但國内資源匮乏,且軍制落後,缺乏統一的指揮,強大的攻勢難以持久。突厥在這些敵人中最為強大,雙方免不了要有一場大戰,這場戰争其實才是決定隋朝命運的關鍵一戰,而且高寶甯和突厥不斷勾結,如果打敗突厥,高寶甯勢力就會自然瓦解。
楊堅經過詳細的分析,最終确定了打擊順序,制定了先易後難的政策,首先将打擊目标鎖定南陳和吐谷渾,将最強大的對手突厥留到最後。
開皇元年(581年)三月,楊堅任命大将賀若弼為吳州總管出鎮廣陵(今江蘇揚州),大将韓擒虎為廬州總管出鎮廬江(今安徽廬江縣)。
由這兩員大将一同鎮守南方,實在是最好的選擇,需要指出的是,當時賀若弼到達廣陵後,确實以平陳為己任。但坦白講,楊堅派賀若弼出鎮南部邊境,并不是要馬上滅陳,那個時間段并不是滅陳的最好時機。賀若弼的想法與楊堅的通盤考慮計劃有沖突,畢竟當時隋朝最大的敵人是突厥,楊堅僅僅想頂住南陳的進攻。畢竟平陳要舉全國之力,以隋朝的情況,還不足以支撐南北兩線作戰。
為此,楊堅特意為壽州總管元孝矩下玺書,對南方戰場的戰略方針做了明确的訓示∶"揚、越氛駁,侵轶邊鄙,不識大猷。以公志存遠略,今故鎮邊服,懷柔以禮,稱朕意焉。"
楊堅希望隻要收複江北失地,将陳軍趕回自己的國境内就可以。這表面上看是忍讓,實則是審時度勢的戰略決策。這就決定了賀若弼和韓擒虎等将領在南線戰場的戰鬥,是解除南線戰場壓力的局部戰鬥,不是一場置對方于滅國的戰鬥。楊堅當時最擔心的并不是将領們能不能打,而是擔心将領們不能了解自己的意圖而無節制地打下去。是以當陳軍渡過長江攻城略地之時,楊堅一方面派大将予以回擊,另一方面又派高穎奔赴南方前線節制諸軍,讓南線戰場的戰鬥始終處在可控的範圍。
到了九月,隋軍集中優勢兵力,向陳軍發起淩厲的進攻,東南道行軍元帥長孫覽帶領八大總管,從壽陽對陳軍發起攻擊,擊退陳将錢茂所帶領的數千人馬偷襲,然後會戰陳将陳紀、周羅喉等人,将其全部擊退。
當時賀若弼收複大片江北失地,并一舉平定相應陳軍作亂的東潼州刺史曹孝達,行軍元帥元景山帶領總管韓延、呂哲出漢口,一舉攻克渴口(今湖北漢川)。另一員大将鄧孝儒領精兵四千進攻甄山鎮(今湖北漢川東南),大破陳将陸綸趕來增援的水師部隊,成功收複了司馬消難叛亂時獻給陳朝的重要軍事基地。
到了年底,隋朝的南線反擊戰取得了預期效果,江北失地基本收複。隋軍在長江北岸一線展開,大有乘勝渡江一舉攻滅陳朝之勢。此時陳軍已經被打得膽戰心驚,不僅全部退回自己的國境,而且再不敢有進軍江北的想法,隻希望隋軍不要打過長江就好。陳宣帝本來有雄心壯志,想趁隋朝内憂外患之際擴張自己的領土,但沒想到隋朝居然如此生猛,現在居然被人打回老家,心裡不禁又急又惱,急火攻心一命歸西。
新即位的陳後主很識趣,派遣使者渡過長江向隋軍請和,并歸還了先前攻占的胡墅(今江蘇南京長江北岸)等城池,算是主動低頭認錯。面對陳朝的主動低頭,楊堅趁此機會與陳朝講和,将軍隊全部撤往北方,為北征做好準備。楊堅采納了高穎的建議,至此隋朝的南線戰事暫時告一段落。
在南線戰場對陳作戰的同時,楊堅在帝國的西北方向對吐谷渾也展開了反攻。
八月,楊堅任命元諧為行軍元帥,率領行軍總管賀婁子幹、郭竣和元浩等數萬人馬反擊吐谷渾,針對此次作戰,楊堅特意下诏為元諧做了訓示。
這個訓示其實與對陳作戰的訓示很相似,楊堅同樣隻是叫元諧擊退吐谷渾,并沒有下令繼續擴大戰事。
元諧帶領隋軍從鄯州(今青海樂都)發起攻擊,吐谷渾也是大軍傾巢出動,從曼頭(今青海共和縣)至樹敦綿延百十裡,其定城王鐘利房帶領三千騎兵,聯合南方的黨項部落,渡河向東推進準備迎擊隋軍,隋軍主帥元諧則采取包抄之策,直插青海,準備切斷吐谷渾大軍的退路。
當時雙方在豐利山(今青海青海湖東)下遭遇,于是隋軍與吐谷渾兩萬大軍展開了一場遭遇戰。經過一番激戰,隋軍擊退葉谷渾大軍,并乘勝進逼青海湖,直抵其大學營。吐谷渾不甘心失敗,派太子可博帶領五萬大軍反撲,雙方再次展開了一場遭遇戰。不過,由于吐谷渾是各個部落的聯合體,不像隋軍有統一的指揮,戰事順利還可以共同進擊,一旦稍遇挫折便各自逃散。隋軍在元諧的指揮下對吐谷渾大軍進行猛烈沖擊,最終吐谷渾各個部落為了儲存實力,大部分撤回了自己的地盤。
經過打擊南陳和吐谷渾的兩場反擊戰,隋朝在突厥大舉入侵之前,很快解除了來自西部和南部的威脅,也打破了敵人四面包圍的窘境,同時化解了敵人結盟抗隋的隐患。現在楊堅終于可以騰出手來,專心緻志地解決最強大的敵人突厥了。
公元582年四月,突厥騎兵深入雞頭山(今甯夏夏隆德縣),被隋朝大将軍韓僧壽擊敗,另一路突厥騎兵則在河北山(今内蒙古狼山與陰山合稱)被隋朝上柱國李充擊退。雖然這兩場戰役隋朝取得勝利,但這僅僅是突厥的試探性進攻,并沒有展現出突厥的真正實力。此時突厥人的主力部隊在漠北集結完畢。五月,沙缽略可汗帶領四十萬大軍越過長城,正式揭開了這次改變兩國命運,乃至當時東亞地區格局的戰争序幕。
突厥這次進攻聲勢浩大、來勢兇猛,高寶甯當時也配合突厥大軍向平州(今河北盧龍)發起進攻。當楊堅得知突厥大軍已經突破長城南下的消息時,立即指令柱國馮昱駐守乙弗泊(今青海樂都)、蘭州總管叱李長叉鎮守臨洮,上柱國李崇駐守幽州,将軍達奚長儒據守周槃,進行邊境上的全線防禦。
六月九日,楊堅又指令衛王楊爽為涼州總管、行軍元帥,率領七萬大軍出平涼(今甘肅平涼),三天後上柱國李充在馬邑(今山西朔州)擊退突厥的進攻,突厥轉而進犯蘭州(今甘肅蘭州)。楊堅急調叱李長叉為蘭州總管,在該地區堅守據敵,同時讓賀婁子幹領兵馳援,雙方在可洛咳山遭遇突厥騎兵,隋軍據河堅守,切斷敵軍水源,等到敵軍人馬疲憊之時,縱兵突然襲擊,大破突厥軍隊。
隋軍雖然取得不少勝利,但是從整個戰略角度來看,隋軍的防禦點被多處突破,其中駐守乙弗泊的行軍總管馮昱遭到突厥數萬騎兵的襲擊,馮昱雖然拼死抵抗,但還是被突厥軍隊打敗,駐守臨洮的蘭州總管叱李長叉也被突厥打敗。與此同時,在東部戰場,突厥與高寶甯聯軍突破隋軍防線,大舉進攻幽州,上柱國李崇出戰被打敗。
鑒于西部戰場各個據點被突厥接連突破,楊堅在八月以左武侯大将軍窦榮定為秦州(今甘肅天水)總管,在西部戰場重新進行縱深布防。
可是一直到十月為止,西部戰場的形勢并沒有好轉,西北長城沿線重要的州郡接連陷落,突厥大軍攻破木峽、石門兩關,進而分兵南下,越過六盤山,挺進渭水、泾水流域,開始對長安形成威脅。而此時楊堅又由于操勞過度而病倒,隻好讓太子楊勇領兵駐守鹹陽以統籌大局,在長安西面建起了一道防線,又派内史監虞慶則為元帥,前往弘化(今甘肅慶陽)拒敵。
虞慶則到達弘化後,指令行軍總管達奚長儒領兵兩千出擊,剛走出弘化沒多遠,就在周槃遭遇突厥大軍而陷入重圍,隋軍立即大亂,達奚長儒倒是十分鎮定,激勵士兵死戰求存,在軍心穩固之後,他把全軍集結成陣且戰且退,經受住了突厥騎兵排山倒海般的反複沖擊,曆經晝夜十四戰,很多次被打散之後又重新集結起來,就這樣堅持了整整三天。達奚長儒身先士卒奮勇殺敵,雖然身受五處刀傷,卻猶如鐵塔般屹立不倒,是以激勵全軍将士奮勇殺敵,就這樣堅持着逐漸撤回了弘化,但是虞慶則看到突厥大軍來勢兇猛,竟然不敢出城相救。
突厥人本來是為了劫掠财物而來,完全沒有想到會遭遇如此頑固的抵抗,十分震驚。不可思議的是,面對達奚長儒所帶領的已經所剩無幾的隋軍,突厥人竟沒有發起最後的進攻,隻是匆匆焚燒了夥伴的屍體而撤退。
從戰略角度來看,隋軍在戰場上并沒有打敗突厥,甚至失敗要更多一些,但是在另一條戰線上,一場秘密的戰争正在悄然進行,長孫晟對突厥的離間策反工作,開始逐漸取得效果。
在西方,突厥面臨着新崛起的薩珊波斯,曾經聯合東羅馬一同進攻,但是進展并不順利,最終被迫而回,是以雙方有直接的利害沖突。楊堅當時就形容突厥是"東夷諸國,盡挾私仇,西戎群長,皆有宿怨。突厥之北,契丹之徒,切齒磨牙,常伺其便"。
類似突厥這種遊牧民族,其實是個情緒很不穩定的民族,遇到戰事順利,可以展開急風暴雨般的進攻,一旦戰事不順,潛在的沖突頃刻之間就會爆發,進而影響戰局。隋朝大軍的頑強抵抗,讓突厥每前進一步都要付出高昂的代價,于是其前線積累的内部沖突,逐漸再次顯露出來,其表現出來的就是被隋朝收買的達頭可汗不願意再繼續南下,而是率部挾裹戰利品北歸。
達頭可汗擅自撤離戰場的行為,讓沙缽略可汗倍感憤怒,此時長孫晟悄悄出現在了沙缽略侄子染幹面前,極為神秘地在他耳邊低語了幾句,話還沒有說完,染幹已經面如死灰,立即跑到沙缽略面前,告訴他北方鐵勒部族造反,打算偷襲可汗牙帳。
沙缽略聞言大驚失色,立即領兵将其已經攻占的涼州、秦州、安定、金城、上郡、弘化和延安等地,盡皆大肆劫掠之後,便匆匆退出塞外。
開皇三年(583年)春天,突厥人再次蠢蠢欲動,剛進二月就在邊境與隋軍發生一場小規模戰役,四月便大兵壓境。與此同時,前年被隋軍打敗的吐谷渾又陸續遷回原地,也趁此機會進攻臨洮(今甘肅臨潭),刺史皮子信出戰迎敵,兵敗被殺。汶州(今四川茂縣)總管梁遠率領精兵趕來馳援,這才将吐谷渾打退,但不久後又轉攻廓州(今青海貴德)。
吐谷渾的卷土重來,提醒楊堅必須要對突厥予以重創才行,否則即使将其打退,也不能掌握戰場主動權,隻能是讓突厥人牽着鼻子走,這樣周邊其他部族就會跟着突厥一起趁火打劫,進而為隋朝帶來更大的禍亂。
最關鍵的是,隋朝變單純防禦為積極反攻的條件正在逐漸形成,經過去年的那場大戰,隋軍還是經受住了考驗,雖然最終并沒有真正打敗突厥,是突厥主動撤兵,但在幾次戰役中,隋軍并不落下風,已經培育起了戰勝突厥的信心。突厥内部的沖突逐漸表面化,具體表現就是達頭可汗與沙缽略可汗之間的沖突,使其難以成為号令統一的整體。在楊堅看來,隻要再加把勁,就會造成其内部的分裂,是以楊堅決心将突厥内部的沖突利用到底,進行各個擊破,給予沙缽略可汗以決定性打擊,實作我攻敵守的戰略轉折。