隋煬帝楊廣兩次征討高麗未果,覺得臉上無光,於大業十年(公元614年)又帶領幾十萬人馬,第三次討伐高麗。
大隊人馬趕到遼水西岸時,已經沒有剛出發時人多了,有一些兵士在途中偷著開小差跑了。水軍船隊登上平壤西海岸,準備進攻平壤。實際上隋軍將士已無鬥誌,如果高麗兵還像頭兩次那樣勇敢抗擊隋軍,很有可能再次獲勝。但經過兩次戰爭,高麗國大臣不願再交戰,大多要求講和。高麗王同意了多數人的意見,押解著以前逃到高麗的隋將兵部侍郎解斯政,過遼水去見煬帝,表示願意歸降。
楊廣很高興,因為他內心也沒有把握是否能打贏這一仗,更怕第三次再輸。現在高麗求和,正合他意,這就等於他勝利了,挽回了已經丟過兩次的麵子。於是他下令退兵返朝。
班師路上,楊廣讓士兵們大唱凱旋歌,他自己不在車輦裏坐著,而是騎在一匹高頭大馬上,神采飛揚、不可一世。不料,大軍走到邯鄲境內時,突然殺來一夥農民軍,帶頭的是楊公卿,一馬當先撲向楊廣。楊廣大吃一驚,幸虧有勇敢的禁衛軍保護,才算保住了命,楊公卿一夥義軍搶走四十多匹好馬飛奔而去。楊廣沒了威風,從馬背上爬下來,鑽進車輦裏,不敢露麵了。
十月份,楊廣回到長安,把押回來的叛將解斯政處死了,然後讓高麗國使臣回去捎信,說大隋皇帝宣高麗王來朝,當然是要顯示一下他的威風。然而,高麗王不買他的賬,推辭不去。這又使楊廣丟了麵子,他下令做好第四次東征高麗的準備。
事後楊廣冷靜一想,時值冬季,遼東寒冷,不宜作戰,於是決定推遲到來年再做計較。
這期間,各地農民起義軍風起雲湧,但大臣們都知道楊廣願聽好消息不願聽壞消息,所以誰也不報告義軍的事,楊廣則以為天下太平無事,他可盡情享樂了。長安住膩了,他又移居洛陽。第二年夏天,楊廣又帶領百官到北方避暑。
楊廣在各地都修了行宮,宮中都有妃嬪宮女太監。他們一行首先來到太原郡晉陽宮,宮中兩位貴人不知空等了多少年,才算見到了皇上。楊廣在這裏住了幾天,覺得太原不算涼快,又繼續北走,來到汾陽宮(今山西陽曲)。這裏氣溫涼爽,適合避暑。但行宮小,百官和兵士住不下,隻好在野外山穀搭草棚子住,楊廣卻不理會這些,隻管自己涼快。
轉眼到了秋天,楊廣心血來潮,要到邊塞去視察。這一天,楊廣一行過了雁門關(今山西代縣)往北走進入牧區,正放眼欣賞草原風光。遠處急馳而來的兩匹快馬,眨眼間來到楊廣麵前,從馬上跳下一位突厥打扮的人,呈給楊廣一封密信。
楊廣展開書信,見是義成公主親筆寫的。義成公主是楊堅宗室的女兒,當年文帝楊堅把她許配給突厥酋長啟民可汗,結成親戚關係。大業五年,啟民可汗病亡,他兒子咄吉即位,稱始畢可汗。按風俗,義成公主成為始畢可汗的可賀敦(即妻子)。如此以來,楊廣與突厥酋長始畢可汗也是親戚了。但是,楊廣竟無事生非,鼓動始畢可汗的弟弟叱吉沒與他哥哥作對。叱吉沒告訴了哥哥,始畢可汗大怒,遂與隋朝斷絕往來。
始畢可汗聽說楊廣隻帶領兩萬禁衛軍,便召集幾十萬兵馬,進攻隋煬帝。義成公主擔心隋朝沒有防備會吃虧,便寫信密報這個消息。
楊廣看罷義成公主的信,嚇得立即往回返,剛進入雁門關,始畢可汗率突厥大軍追過來了。突厥大軍全是騎兵,進軍的速度快,煙塵滾滾而來,刹那間將小城雁門關包圍起來。
楊廣膽戰心驚地登上北城樓,察看敵情,突厥騎兵之多,一眼望不到邊,嚇得他冷汗直流,就在這時,突厥兵一齊往城樓上射箭,一支箭射中楊廣頭上的皇冠,嚇得他撲通一聲坐在地上,竟失聲大哭起來。楊廣哭夠了,才想起召集大臣們商量退兵之計。有人提出讓皇帝帶三千騎兵突圍,但大部分人反對,認為三千騎兵要突破幾十萬大軍非常危險,應該派人到四方調兵救援,再派人去突厥讓義成公主幫忙。
楊廣采納了後一種意見,然後又親自對守城的士兵許願,隻要守住城,以後不再征遼,而且論功予以重賞。士兵們增添了勇氣,前赴後繼,堅持戰鬥。
山西、河東撫慰大使李淵,接到皇帝的救援信,忙派二兒子李世民帶一千親兵奔赴雁門關。
李世民路經五台山時,發現一支隋朝人馬駐紮在這裏,原來是屯衛將軍雲定興帶領的兩萬救援部隊,他們見突厥兵太多,沒敢交戰,在這裏等候其他援軍。李世民雖然隻有十八歲,卻很有頭腦,他對雲定興說:“突厥可汗始畢因為我軍離雁門關遙遠,才敢發兵攻擊大隋天子。如果等援兵到齊,我雁門守軍就危險了。我們不如采取虛張聲勢迷惑敵人之策,白天在幾十裏山林中插滿旌旗,夜半擊打鉦(行軍用的銅製打擊樂器)鼓遙相呼應,突厥則誤以為我援軍匯齊,便會自行撤兵。”
雲定興認為是好計,立即製作旗幟,籌集鉦鼓。短短三天時間,五台山腳下處處飄揚著隋軍旌旗,夜裏鉦鼓聲陣陣,不絕於耳。始畢可汗果然以為隋朝來了大量援軍,不禁心虛起來。義成公主也派人報告始畢可汗,說突厥有緊急戰事,讓他立即返回。於是,始畢撤兵而走。
隋煬帝終於轉危為安,急忙趕回洛陽,但對守城將士論功獎賞的諾言,早忘得無影無蹤,對於立了大功的李世民,也沒有半點兒封賞。