高丽原名叫高句丽,建都平壤,在东晋十六国时,辽东为高丽所侵占。杨坚建立隋王朝后,统一了全国。形势日趋稳定,国家日益富强。这样一个强大而又统一的王朝势必对高丽产生巨大的影响。高丽王已明显感觉到了来自隋的威胁,于是一方面仿照小国生存法则,遣使入朝称臣纳贡;另-方面,积极扩军备战,派军队经常骚扰隋的边境,以试探隋的反应。隋开皇十八年(598),高丽王高元联合少数民族进攻辽西,被营州总管韦冲击退。隋文帝见高丽如此猖獗,随即又派汉王杨谅统领30万大军,水陆并进,征伐高丽。但隋军行至辽水时,由于连降大雨,军中爆发疫病,士卒死者伤者无数,未及打仗已狼狈不堪。恰巧高元一见隋大军将至,吓得上表投降,隋文帝于是顺势退兵了。此后,高丽王每年都要向隋朝纳贡。
隋炀帝继位后,凭借国力的强盛,对于他来说,高丽必须像突厥、高昌、吐谷浑等部落一样臣服于隋并经常遣使入贡。大业三年(607)隋炀帝北巡时,在突厥启民可汗帐内见到了高丽使者,这一见,不禁使他想起了当年文帝师出无功之事,所以当即要使者转告高丽王高元,要他亲自到都城来。而高元对此竟不予理睬,这可大大挫伤了隋炀帝的自尊心,为了杀一儆百,隋炀帝决定大举征伐高丽。
第一次讨伐高丽,隋炀帝是做了充足的准备的。他首先吸取文帝伐高丽失败的教训,征民夫百万开挖了一条北至涿郡(今河北涿州市)的永济渠,并在黄河以北设置征兵站,为粮草、军械、战船、军队找到了囤积之所,正是‘人马未动,粮草先行”。大业七年(611),隋炀帝开始赶造战船,工匠们没日没夜地站在水中,丝毫不敢停闲,从腰以下,被水泡得都生了蛆,近一半的人就这样死在了水中。这边在造船,河南、淮南、江南等地的百姓则在赶制军车五万辆,然后还要让百姓们自备车、船把军粮器械运到辽东前线。大业八年(612)正月,开始首次北伐。炀帝亲率大军113万,号称200万,浩浩荡荡开赴前线。军队前进到辽水,高丽军队退居城池内坚决抵抗。高丽在城内暗设伏兵后,假装战败引隋军入城,水路将领来护儿果然中计,被高丽军打得大败,所率四万精兵,只有几千人生还。在水军进攻失败后,隋炀帝并没有吸取教训,又派陆军宇文述、于仲文率领九路大军进攻平壤,在鸭绿江边高丽大臣乙支文德诈降,探看隋军虚实,并用拖延战术使隋军疲惫。隋军将领因不敢擅自行动,加上士兵疲惫,缺少粮草,不得已退兵。结果渡江时遭到高丽兵突袭,几乎全军覆没。退还鸭绿江时,宇文述、于仲文统领的三十余万官兵,只剩下不到三千人,兵器物资丧失殆尽。隋炀帝不得不退兵,第一次征伐高丽便以惨败告终。
隋炀帝不甘心失败,同年八月,他下令把全国四大粮仓的粮食调集到望海顿(今辽宁锦县东南),为第二次进攻高丽作准备。大业九年(613)正月,隋炀帝不听劝阻,发动第二次进攻高丽的战争。四月,隋炀帝渡过辽河,亲自到前线督战。在野战中数万高丽兵被一千隋军打败,高丽兵再度退入城内固守。就在辽东城马上就要攻破时,后方传来了礼部尚书杨玄感起兵叛乱的消息。隋炀帝闻讯,不得不丢下全部的军械物资仓促从辽东撤军。由于撤退突然,造成全军混乱,高丽尾随截杀,隋军大败。第二次进攻高丽又告失败。
两次的征伐失败并没有使隋炀帝清醒,大业十年(614)二月,他又下令文武百官商议发动第三次征伐高丽的战争。群臣慑于皇帝的劝诫者杀,无人敢站出来告诉他当时的形势。那时隋朝遍地已是农民起义,加之多年用兵,黄河以北的生产遭到严重的破坏,河北已失去昔日的繁荣景象,疾病饥饿已经成了人们最大的敌人。隋炀帝下令征召天下兵马、粮草,开赴辽东,但水陆两军被征士兵想尽办法逃脱兵役,隋炀帝虽然斩杀逃兵,却也不能抑制士兵逃亡,再加上风起云涌的农民起义也使正常的交通断绝,致使陆军没能如期会合,只能要求水军进攻。在取得卑奢城(今辽宁金县东)胜利后,隋炀帝准备继续向平壤进攻。而此时的高丽在隋炀帝“锲而不舍”的连续进攻下也已力不可支。高丽王看到兵祸连年,人民深受其害,遂遣使上表投降。隋炀帝高兴地认为征伐有了结果,便命令水军退兵,八月四日,隋炀帝从怀远镇回国,三伐高丽终告结束。
三伐高丽满足了隋炀帝好大喜功、扬威异域的欲望,却使隋初励精图治、休养生息的政策遭到了严重破坏,致使隋国力大减,由鼎盛走向了衰落。