隋與高句麗的戰爭發生在598年至614年。隋文帝和隋煬帝多次派出空前的大軍征討高句麗但慘敗而歸。經過多次交戰後，高句麗嬰陽王將逃到高句麗的斛斯政遣返，隋煬帝撤軍。由於長年大規模徵兵，隋國內出現隋末民變，后滅亡。不過隋朝的屢次空前大規模進攻也消耗了高句麗的國力。
背景
平原王在位早期，高句麗與隋維持著緊張而和平的關係，繼北朝之後，受隋文帝冊封為「高麗王」。由於此時百濟與新羅的聯盟早已瓦解，高句麗南部相對平靜。586年，平原王將都城由平壤城遷至長安城（即今朝鮮平壤市區），直至668年高句麗滅亡。歷時83年。
過程
第一次戰爭（598年）
隋文帝開皇十八年（598年），高句麗先發制人突襲遼西的營州，激怒隋文帝，引發高句麗與隋朝第一次戰爭。隋文帝派漢王楊諒協高颎和大將周羅睺率30萬海陸大軍攻打高句麗。 
周羅睺的海軍同時也是困難重重。雖然隋的海軍儘可能地靠著海岸前行，但在海上遇大風，船多沉沒。隋的海軍一拋錨休息，高句麗的先遣部隊就會出現進行襲擊。由於周羅睺先前已損兵折將，元氣大傷，敗於高句麗。
據《隋書》記載，這次戰役中，隋軍因遭遇瘟疫損失近九成。而與隋相比，高句麗軍隊傷亡不多。楊諒別無辦法，只好撤退。此次戰役是隋文帝僅有的一次大敗仗。為防止隋的再次入侵，嬰陽王高元曾上表稱「遼東糞土臣元」，隋文帝只好適時罷兵，待之如初。
第二次戰爭（612年）
先期準備
604年，隋煬帝登基后，大修大運河，將中國北部的政治中心與經濟發達的南方連線起來。這使得跨地區大規模運送軍隊成為可能。不過京杭大運河的興建勞民傷財，對隋的統治也留下禍根。
大業六年（610年），大運河建成后，隋煬帝開始募集軍隊。募集的軍隊被集中在涿郡（位於今北京通州）。據《隋書》記載，此次募集耗時數年，規模前所未有。據《三國史記》的記錄是此次出動了三十萬的作戰部隊。負責後勤和運輸的人員還要多於這個數字。整個軍隊的總數說法不一，估計在100萬上下。大業八年（612年）二月，隋煬帝從江都大運河坐龍舟前往涿郡，隋的大軍開始出發。行進的部隊排成的隊綿延400公里，晝夜不絕。苦於服役的民伕紛紛逃亡，成為盜賊，煬帝下令都尉、鷹揚與沿途郡縣聯合追捕，捉到的立即斬首處決。由於人數巨大，全部部隊用了40天才出發完畢。四月，到達涿郡的臨朔宮。
遼東之戰
大業八年（612年）正月初二日壬午，隋煬帝正式下詔發兵遼東，隋軍分為左右兩軍。總1133800人，號稱200萬。
左軍：
* 第一軍鏤方道
* 第二軍長岑道，主將樊子蓋
* 第三軍海冥道
* 第四軍蓋馬道，主將吐萬緒
* 第五軍建安道
* 第六軍南蘇道，主將段文振
* 第七軍遼東道，主將觀王楊雄、荊元恒（繼任）
* 第八軍玄菟道，主將辛世雄
* 第九軍扶余道，主將宇文述
* 第十軍朝鮮道，主將周法尚
* 第十一軍沃沮道，主將薛世雄
* 第十二軍樂浪道，主將於仲文
右軍：
* 第一軍黏蟬道
* 第二軍含資道
* 第三軍渾彌道，主將李景
* 第四軍臨屯道
* 第五軍候城道，主將崔弘升
* 第六軍提奚道
* 第七軍踏頓道
* 第八軍肅慎道，主將楊義臣
* 第九軍碣石道，主將趙才
* 第十軍東暆道，使者陸知命
* 第十一軍帶方道
* 第十二軍襄平道，主將張瑾、陰世師
水軍：
* 滄海道，主將來護兒
598年的戰爭，高句麗得到一些緩衝地域。由於這些地域不適于和隋這麼大規模的軍隊進行面對面的交鋒，高句麗嬰陽王將軍隊撤到遼水一帶。天時地利，612年，遼河水比往常提前好久就開始解凍了。當隋煬帝在三月十五日到達的時候，遼河水已全部融化。隋煬帝毫不氣餒，下令工部尚書宇文愷在遼河上修建了3座橋樑。不過隋煬帝所修的橋還沒修到對岸，十九日，高句麗就對隋軍發動了進攻，並有效地擊退了隋煬帝的第一次進攻。此戰隋軍大將麥鐵杖、錢士雄、孟金叉等人戰死。不過何稠最終將橋修好，隋軍過橋包圍了遼東城。
六月十一日，煬帝抵達遼東城，責罵諸將無能，並在城西數里建造六合城坐鎮指揮，四下分兵攻打高句麗諸城。開戰前，隋煬帝楊廣下令隋將不得擅自作出任何有關作戰決定，必須先向他報告后再聽從命令。這使得隋軍在戰場上很被動。隋將在做每個決定的時候都要先派人馳報遠在後方的煬帝，這就延誤了軍情。高句麗的軍隊也因此有充足的時間進行重整和反擊。
平壤之戰
隋煬帝的新戰略是在同高句麗在遼東周旋的同時，派海陸軍攻打高句麗的首都平壤。30多萬陸軍和20萬水軍構成的先遣隊就這樣出發了。
海上的進攻
隋朝大將來護兒指揮的水軍先於陸軍到達了大同江（當時叫壩水），距離平壤城六十里。發現隋的陸軍沒有到達，嬰陽王派出了一小批軍隊與入侵的隋朝軍隊交戰。簡短的交鋒后，高句麗的軍隊假裝被擊敗並向城裡撤退。隋朝軍隊將領以為立功的大好時機已到來，帶領10萬軍隊開始圍攻平壤。
當隋朝軍隊來到平壤的外圍城堡時，發現大門敞開，墻上也無人把守。進入城堡后，發現地上放著錢財和武器。爲了謹慎起見，隋朝軍隊將領下令禁止掠奪。當隋朝軍隊來到一個寺廟后，遭到了高句麗的伏擊。不過高句麗的軍隊並沒有取勝，然後就撤逃了。這次隋朝軍隊將領真的以為高句麗不行了，於是開始縱兵掠奪外圍城堡，隊伍開始分散。
正當隋朝軍隊掠奪之時，一支由幾千人組成的高句麗先遣部隊在嬰陽王之弟高建武的率領下對隋朝軍隊進行了伏擊。毫無防備的隋朝軍隊一時慌了手腳，不知所措，並開始向海邊撤退。第一次單獨行動失敗后，隋朝軍隊的將領決定還是等隋朝部隊的陸軍到達后再圍攻平壤。
陸上的進攻
然而，隋煬帝派出的陸軍在路上也出了問題。在隋國內行軍，隋軍後勤很有保障。但一旦進入高句麗的國土，隋朝軍隊的後勤供應就會遭到高句麗的伏擊。爲了解決這個問題，隋煬帝下令每個士兵都要自己攜帶食物。不過這大大加重了士兵的負擔。許多士兵爲了減負，扔下所帶的食物。等隋朝軍隊到達鴨綠江后，物資已嚴重缺乏。
三月十五日，隋二十四軍中的九軍三十萬五千人渡過遼河，之後到達鴨綠江。高句麗大將乙支文德過江詐降進入隋軍大營，隋軍主將宇文述、于仲文曾接到煬帝密旨，要生擒嬰陽王高元和及文德，于仲文等人原本要將乙支文德關押，被時任慰撫使的尚書右丞劉士龍阻止，將文德放走，于仲文不久後悔，派人追上文德，讓他再回來議事，文德不從，立即渡江回去。于仲文派兵追捕，乙支文德且戰且退，並送給於仲文一首詩：「神策究天文，妙算窮地理。戰勝功既高，知足愿云止。」勸他退兵。于仲文回書招降，文德將營寨燒燬後撤退。
在軍事會議上，由於于仲文放跑了乙支文德，他提議以精銳追擊文德，宇文述則以軍中缺糧為由，想要退兵。兩人爭吵，于仲文由於先前得到煬帝的節度諸軍命令，繼續命隋軍渡江追擊。乙支文德在隋營時見軍中士卒面帶飢色，認為隋軍缺糧，於是與隋軍交戰時，在一天中故意戰敗七次，引誘隋軍追趕，拖長隋軍的後勤線。
在鴨綠江和平壤之間有一條清川江（當時叫薩水），乙支文德下令在清川江的上游修築堤壩蓄水。當隋朝軍隊到達清川江時，江水很淺。於是隋朝軍隊便涉水過江，此時離平壤城只有三十里，隋軍在山下紮營。乙支文德再次派出使者詐降，稱只要隋軍退兵，就將國主高元送到隋帝面前謝罪。宇文述見士卒疲憊，平壤城又險峻堅固，易守難攻，乙支文德降書正中下懷，可以有借口退兵。七月二十四日，正當隋朝軍隊撤退過江之時，乙支文德下令開閘放水。數千隋朝軍隊被淹死。乙支文德隨後率領高句麗軍隊向入侵的隋朝後部軍隊發動了猛烈的進攻，隋軍大敗，一路潰散逃亡者數不勝數，有的官軍一日一夜連跑四百五十里，直到鴨綠江。隋煬帝派出的30多萬陸軍僅有2700人返回遼東城。
隋煬帝首次與高句麗的戰爭結果，損失30萬大軍，只攻下遼河西岸的武厲城（置遼東郡及通定鎮）。
第三次戰爭（613年）
隋大業九年（613年）正月，隋煬帝再次徵兵天下，編成驍果軍，設定折衝、果毅、武勇、雄武等郎將軍官，以統領驍果軍，並恢復了前征遼主將宇文述等人的官職，再次對高句麗發動進攻。
三月初四，煬帝到達遼東城，四月二十九日，宇文述、楊義臣率六路大軍渡過鴨綠江進軍平壤城。楊義臣與作為先鋒，與乙支文德交戰，多次戰勝。六月初三，在隋煬帝親征高句麗之時，楊素的兒子楊玄感在國內謀反。擔心兩面受敵，隋煬帝被迫命正在高句麗作戰的宇文述等人撤軍回國鎮壓楊玄感的叛亂。兵部侍郎斛斯政作為楊玄感黨羽，出逃投向高句麗，使高句麗盡知隋軍虛實，乘機追擊，殿後的隋軍李景部多被打敗。
第四次戰爭（614年）
在鎮壓了楊玄感的叛亂后，隋煬帝于大業十年（614年）又攻高句麗。雖然隋煬帝衝破了高句麗的第一道防線，但由於高句麗的持續伏擊和對隋朝軍隊供給線的切斷，隋煬帝始終不能拿下遼水這層防禦線。嬰陽王將在楊玄感造反后逃到高句麗的斛斯政遣返給隋煬帝。隋煬帝接受了嬰陽王的請降並撤軍。
後續
隋煬帝楊廣屢屢對高句麗發動大規模戰爭的原因其實並不如許多史書寫的，僅僅是因為「高句麗本為箕子所封之地，今又不遵臣禮。」實際上煬帝即位后，對高句麗問題十分重視，征伐高句麗有著多方面的原因。一是出師理由，高麗王拒絕向隋朝貢稱臣；二是為鞏固邊疆，消除外患；三是當時高句麗暗中與隋的另一外患突厥勾結，聯手抗隋；四是當時高句麗國力的確不容忽視，成為隋向外擴張的一大阻礙。然而，連續三年的大舉用兵使隋朝損失數十萬人，「九軍並陷，將帥奔還亡者二千餘騎，」引起國內對煬帝的強烈不滿。
隋第一次征伐高句麗之前的大業六年（610年），國內便爆發了雁門郡人尉文通的起義，到了大業十年（614年）第三次征伐高句麗失敗之後，已無力鎮壓隋末民變了，煬帝被迫遷都江都。隋對高句麗的連年戰爭使經濟受創，國力銳減，煬帝民心盡失。不僅農民起義，連將領也相繼叛變；隋都大興城在617年11月為晉陽留守李淵所據，洛陽城在618年為宇文述之子宇文化及與後來的王世充佔領；618年4月11日楊廣在廣陵郡的江都被宇文化及所殺，王世充並於618年6月23日扶植隋皇泰主楊侗登上帝位，619年5月22日王世充得到隋皇泰主楊侗禪讓后自立為帝，隋朝滅亡。不過隋對高句麗的連年征伐也嚴重消耗了高句麗的國力，再也無力向外擴張，被新羅後來居上。666年12月至668年9月，在唐朝與新羅的聯合夾擊下，高句麗最終滅亡。