乙支文德见隋军将士面带饥色,遂继续采取疲敌战术。每与隋军交战,一触即退,使隋军一日之内连获7次小胜。隋军为暂时的胜利所迷惑,被高句丽军诱渡过萨水,深入到距平壤只有30里的地方,依山为营。
乙支文德又遣使诈降,声称:“若旋师者,当奉高元朝行在所”。宇文述鉴于将士疲劳已极,不可再战,平壤城又险固难攻,便顺其诈,答应还师。后撤的隋军编成方阵行进,沿途不断遭到高句丽军的四面袭击,只得且战且退。行至萨水,高句丽军乘隋军半渡时,即向后军发起猛攻,担任后卫的辛世雄战死,其余诸军皆溃,仓皇逃窜。高句丽军乘胜追击,宇文述等退到辽东城,据说仅剩2700余人,物资器械损失殆尽。隋炀帝见大势已去,率军撤退,在平壤附近海域待机的来护儿水军,亦急忙从海路退回。
因此,本次讨伐高句丽大败而归,隋炀帝大怒,遂将宇文述下狱。宇文述因平时得宠于隋炀帝,并且其子宇文士及娶隋炀帝之女南阳公主,所以隋炀帝不忍诛杀宇文述。隋炀帝将宇文述与于仲文等皆除名为民,并斩刘士龙以谢天下。隋炀帝不甘心第一次征高句丽的失败,下诏再征天下兵集于涿郡,并募民为骁果,置折冲、果毅、武能、雄武等郎将率领之,并命刑部尚书卫玄等辅佐代王杨侑留守西京长安。
隋炀帝为派得力的将领出征高句丽,遂将宇文述官复原职,待之如初,诏曰:“宇文述以兵粮不继,遂陷王师;乃军吏失于支料,非述之罪,宜复其官爵”。不久又加开府仪同三司。隋炀帝从洛阳出发,再次御驾亲征高句丽,行至黎阳,留礼部尚书杨玄感于此督运粮草。隋炀帝的车驾渡过辽水。隋炀帝命宇文述和上大将军杨义臣率军由北路疾趋平壤。炀帝亲率主力进围辽东城,并派左光禄大夫王仁恭领兵出扶余道进攻新城。由于隋军兵强马壮,计划周密,准备充分,所以作战非常顺利。正当辽东城指日可下之际,杨玄感忽然在黎阳起兵反隋,隋炀帝大惊,密令诸将撤军,并令宇文述率军急赴河阳,发诸郡兵讨杨玄感。
杨玄感是杨素之子,好读书,善骑射,为官严正,甚得时人尊敬。杨玄感见隋炀帝率隋军主力远在辽东前线,后方兵力空虚,于是,便抓住取隋代之的这一良机,起兵反隋。由于杨玄感采取了长期屯兵坚城之下的错误战略,使隋军得以及时回军。宇文述和右侯卫将军屈突通驰援东都。在东莱的来护儿也停止进攻高句丽,还师西进,对包围洛阳的杨玄感形成反包围态势。杨玄感军处于四面受敌的不利局面。杨玄感知隋军援军将至,心惧。屈突通引兵屯河阳,宇文述继之,杨玄感接受李子雄、李密的建议,解除了对东都的包围,率军西进,准备夺取关中。至弘农宫,被弘谷太守杨智积用计牵制,耽误了宝贵的三天时间。及杨玄感军到达阌乡时,宇文述与刑部尚书卫文升、左御卫将军来护儿、右侯卫将军屈突通等各路隋军将其追上,杨玄感且战且退,一日内三败。
隋军与杨玄感在皇天原列阵决战,宇文述与来护儿列阵当其前,遣屈突通以奇兵击其后,大破之,杨玄感仅率十余骑逃往上洛。杨玄感自知大势已去,乃命杨积善将自己杀死,杨玄感叛乱遂被镇压,宇文述因功被赐物数千段。
隋炀帝镇压杨玄感叛乱后,不顾内外危机四伏,下诏再次征召全国军队,百道俱进,三征高句丽,宇文述奉命东征,军至怀远,而还。隋炀帝出塞北巡,于雁门为突厥始毕可汗几十万骑兵所围,时雁门守军仅万余人,宇文述劝隋炀帝率数千精锐轻骑突围,但此举遭到了众人的反对。纳言苏威说:“城守则我有馀力,轻骑乃彼之所长,陛下万乘之主,岂宜轻动!”民部尚书樊子盖说:“陛下乘危徼幸,一朝狼狈,悔之何及!不若据坚城以挫其锐,坐征四方兵使入援。陛下亲抚循士卒,谕以不复征辽,厚为勋格,必人人自奋,何忧不济!”内史侍郎萧瑀认以:“突厥之俗,可贺敦预知军谋;且义成公主以帝女嫁外夷,必恃大国之援。若使一介告之,借使无益,庸有何损。又,将士之意,恐陛下既免突厥之患,还事高句丽,若发明诏,谕以赦高句丽、专讨突厥,则众心皆安,人自为战矣”。由于众人一至反对,隋炀帝没有听宇文述之言,后来各路援救到达,突厥退走,隋炀帝最终得以解围。
隋炀帝车驾至太原,大臣们多劝隋炀帝回京师,隋炀帝面有难色,唯独宇文述善于察言观色,便说:“从官妻子多在东都,便道向洛阳,自潼关而入可也。”隋炀帝从之。
江都新作龙舟成,送至东都,宇文述看出隋炀帝还想巡游,便提议到江都游玩,隋炀帝闻后大悦,隋炀帝至江都,在此尽情玩乐。不久,宇文述一病不起,隋炀帝不断派人探问病情,并打算亲自去看望,后被大臣苦劝乃止,隋炀帝遂遣司宫魏氏问宇文述:“必有不讳,欲何所言?”时宇文述二子宇文化及、宇文智及都因罪被削职为民,闲在家中。宇文述此时对魏氏说:“化及,臣之长子,早预籓邸,愿陛下哀怜之。”隋炀帝闻后潸然泪下,道:“吾不忘也”。
宇文述去世,隋炀帝为之罢朝,并赠司徒、尚书令、十郡太守,班剑四十人,辒京车,前后部鼓吹,谥号为恭,隋炀帝令黄门侍郎裴矩祭以太牢,鸿胪寺监护丧事。