公元581年隋建立后,高丽王高汤遣使向隋朝称臣,高汤遂被封为高丽王。8年后,隋灭陈,一统中土。当时的高汤见到中土统一,深知自己将面对自西晋以来第一个统一且强大的隋朝,以后的日子恐难安稳,于是便积极备战整军,广积粮草。
隋文帝闻知极为不满,责问高汤:“辽河再广阔,比长江如何?高丽人再多,能比得上陈国吗?我如果心存不义,对付你能费多少力气?之所以告诉你这些,是希望你改过自新,理解我的用心,你自求多福吧。”高汤看到诏书大惧,奉表谢罪后竟然病死了。高汤之子高元即位,心中对隋有着嫉恨,遂率万余靺鞨骑兵攻打辽西,结果被击退。隋文帝大怒,正欲征讨,高元慌忙遣使谢罪,上表自称“辽东粪土臣元”,这才令隋文帝罢兵。
公元604年,隋炀帝杨广即位。为了炫耀武力,隋炀帝修东都洛阳、大运河,南征越南,北巡塞外,派兵突厥。大业七年,炀帝北巡涿郡,命高丽王亲自朝见,但高丽王却没敢来。隋炀帝以高丽不遵臣礼为由,下令全国的士兵次年征讨高丽,紧接着命人督工在东莱海口造战舰300艘。民工昼夜立于水中造船,很多人自腰以下都生满蛆,工匠也因此死掉三分之一。隋炀帝又发江淮以南水手一万人、弩手三万人、岭南排刺手三万人,再令河南、江南造戎车五万乘送高阳,命江南民夫运米至涿郡。一时间船舻千里皆满载兵甲器物,路上几十万人填溢道路,昼夜运输战具、粮食,死者相枕,天下**。
大业八年,隋炀帝第一次征伐高丽,左右12军名目纷繁,共113万余人,号称200万,加上隋军役夫近300万。隋炀帝自以为“吊民伐罪,非为功名”,下令诸将不得纵兵、不得擅杀、听候指示、不可擅自做主,以此宣扬天朝大国的威仪仁义、襄公之仁,不料反被高丽所乘。
隋军出征,一开始很顺利,渡过辽河后在东岸歼灭高丽军万余人,直抵辽阳城下。隋朝诸将怕被皇帝责杀,每次作战事无巨细都一一禀报,结果导致命令批准迟缓,延误战机。而守城的高丽人在情势危急时总是诈降,等到隋军一停止进攻就马上修补城池,以至于隋军频战频失。另一支由隋将公孙述率领的大军为了赶路,弃粮轻装前进,士兵走到半路就没粮食吃,又饥又寒之下,竟还能一日七胜。隋军自恃骤胜,未等歇息整装,就贸然东渡济水,距平壤城30里依山为营。可是平壤城坚池深,易守难攻。公孙述的士兵无粮,又冻又饿,只好退师,结果高丽军自后追击,隋军溃不成军。隋军其他各路军也相继败北,隋炀帝一征高丽以惨败告终,隋军损失30余万人。
公元613年,隋炀帝亲征高丽,此次隋军包围辽阳城,昼夜不停地猛攻20余日,辽阳岌岌可危。此时,隋军后方负责督运粮草的杨玄感突然叛乱,本来已经有望征服高丽的隋炀帝不得不撤兵回国平乱,撤军路上将军资、器械等尽数丢弃。就这样,隋炀帝第二次征高丽只落得一个半途而废,无功而返的结果。
公元614年,隋炀帝三征高丽,隋军在卑沙城大败高丽军。高丽与隋接连三年的战争,国力早已不支,几乎到了山穷水尽的地步,只好向隋炀帝称臣请和,并且送还了逃到高丽的杨玄感叛乱时的叛将斛斯政。隋炀帝也因疲于征服高丽,正愁没有台阶可下,刚好借着高丽的投降举动适时收兵,同时也挽回前两次失败之辱。加之此时隋国早已因征高丽而怨声载道,天下**,“群盗蜂起,不可胜数”。遂罢兵许和。
纵观隋之三伐高丽,本都是胜券在握,却两次惨败,原因就在于隋炀帝好大喜功,急于证明自己的英明,没有耐挫能力,在失败的打击面前乱了方寸,造成近百万生命的损失和帝国巨大财富的浪费,最终把国力消耗得近乎空竭。虽然隋朝损失的人口对本国并没有致命影响,但百万之师所需粮草、运输之人力却耗费繁多。一时间引发了民间耕稼失时、官府侵逼、连年兴兵无尽的兵役、徭役繁重等多重社会矛盾,间接导致隋末之变,乃至亡国。