左翊衛大將軍宇文述出兵扶餘道;右翊衛大將軍於仲文出兵樂浪道;左驍衛大將軍荊元恒出兵遼東道;右翊衛將軍薛世雄出兵沃沮道;右屯衛將軍辛世雄出兵玄菟道;右禦衛將軍張瑾出兵襄平道;右武候將軍趙孝才出兵碣石道;涿郡太守左武衛將軍崔弘升出兵遂城道;右禦衛虎賁郎將衛文升出兵增地道。這九路大軍同時出發,相約在鴨綠江西岸會齊。各路人馬的每個士兵都帶著一百天的糧食,又發給鎧甲槍械和衣物營帳等,結果每人必須背負三石重的東西,勞累不堪。宇文述傳令到軍中,如果有人遺棄糧食兵仗,立斬不赦。士兵們不堪負擔,悄悄挖坑把糧食埋了,才走到半道,糧食就已經吃光了。高麗派遣大臣乙支文德到隋營來詐降。於仲文想抓住乙支文德,偏偏尚書右丞劉士龍想要安撫來使,說不應該扣留他,以免失去人心。於仲文於是放乙支文德回去,不久他又後悔了,派人去追趕,隻說是還有要事相商,想誘他回來。那乙支文德掉頭不顧,直接渡江而去。乙支文德逃去後,於仲文懊惱不已,待他與宇文述的大軍相會,宇文述又因糧食吃盡想撤軍回去,於仲文說隻要追回乙支文德就可以報功,可是宇文述不願再往前了。於仲文悻然說道:“將軍統領十萬大軍,卻沒能擊破小醜,有什麼顏麵回去見聖上?並且我早知此行無功,試想我軍將士雖多,但人心不一,又如何能得勝呢?”宇文述不得已和諸將渡過鴨綠江,全力追趕乙支文德。
高麗將士見隋軍麵露饑色,料知他們不能久戰,便用老弱殘兵前去誘敵,交戰一會兒就轉身逃走。從早到晚,宇文述七戰七捷,更加恃勝而驕,於是往東渡過薩水,在距離平壤城三十裏山上立營。乙支文德又派人去詐降,並傳話給宇文述道:“大將軍如果退師回朝,高麗王一定入朝拜見煬帝。”宇文述見士兵們疲勞不堪,不能再戰,又見平壤城險固難攻,權衡再三後決定領軍西還,同時命令部眾結成一個方陣,以防不測。果然高麗兵從四麵圍攻,宇文述隻能邊戰邊走。等渡回到薩水,各軍已經傷亡過半,高麗兵又從後方追擊而來,隋將軍辛世雄陣亡。隋軍已無鬥誌,又見辛世雄戰死,頓時驚慌潰散,逃奔了一天一夜,才回到鴨綠江。來護兒聽說宇文述等人大敗而回,也從海浦逃了回來。九路大軍,隻有衛文升一軍沒有損傷。
先前九軍橫渡遼水,共計三十萬五千人,等回到遼東城,隻剩下兩千七百人,軍資儲備器械全都喪失殆盡。煬帝見此情景大怒不已,將宇文述等人收押,便準備收兵回去,留下民部尚書樊子蓋駐守涿郡,自己駕乘龍舟返回東都。宇文述一向受煬帝寵信,他的兒子宇文士及又娶了煬帝的女兒南陽公主,所以煬帝不忍心殺掉他,隻是斬了放跑乙支文德的劉士龍以謝天下,削去於仲文等人的官爵,晉封衛文升為金紫光祿大夫。諸將都將罪責推到於仲文身上,所以諸將得以赦免,隻有於仲文被降罪。於仲文憂憤成疾,才剛出獄就病重纏身,不久就死了。前禦史大夫張衡已經被罷官流放,煬帝擔心他誹謗自己,曾派人暗中觀察他。這次從遼東回來,忽然接到張衡的小妾上書奏報,說張衡心懷怨念,誹謗聖上。煬帝下詔賜令他自盡,並派人去監刑。張衡臨死前說道:“我做了那樣的事,還敢乞望久活嗎?”監刑官早已塞住兩耳,促令他趕緊自縊。
大業九年,煬帝又想東征高麗,再次調集天下兵馬到涿郡。他命令代王楊侑留守西京,授封衛文升為刑部尚書,命他輔佐代王。越王楊侗留守東都,民部尚書樊子蓋輔助越王。一切安排好後,煬帝才商議東征事宜,下詔恢複宇文述的官爵,說之前是因為兵糧不繼,導致王師大敗,不是宇文述的責任。過後煬帝又加封宇文述為開府儀同三司。孟夏四月,煬帝又起駕東征,派遣宇文述為前驅,和上大將軍楊義臣共同進軍平壤。左光祿大夫王仁恭出兵扶餘道。王仁恭率軍到達新城,數萬高麗兵抗戰,王仁恭率領一千勁騎首先突破敵陣,擊敗高麗兵。高麗兵退回到城中固守,煬帝親自統率大軍攻打遼東城,守兵拚死抵禦,幾十天攻不下。煬帝就征集所有的攻城器具,四麵撲城,上用樓梯,下用鍬鑿,始終不見效。於是煬帝又下令製造一百多件大布囊,裏麵裝滿土石,堆積在城下,一直堆到和城牆一樣高,又命令戰士在頂上用弓箭射擊。隨後,煬帝又令人製作了八輪樓車,樓車高出城牆,車上載著數百名弓弩手,城中防不勝防,危急萬分。煬帝正準備一鼓作氣攻下城池,不料內訌迭起,警報頻來,讓這位荒淫驕縱的隋煬帝隻能撤軍退回。正是:
無端勞動四方兵,功未成時禍已成。
試看黎陽生巨變,亂階畢竟始東征。