을지문덕(乙支文德)은 그 계보가 분명하지 않다. 자질이 침착하고 굳세며 지략이 있었고, 아울러 문장을 짓고 해석할 수 있었다. 수나라 개황(開皇) 연간(581~600, 평원왕 23~영양왕 11)에 양제(煬帝)가 조서를 내려 고구려를 정벌하도록 하였다. 이에 좌익위대장군(左翊衛大將軍) 우문술(宇文述)은 부여도(扶餘道)로 나가고, 우익위대장군(右翊衛大將軍) 우중문(于仲文)은 낙랑도(樂浪道)로 나가 9군(九軍)과 함께 압록수(鴨淥水)에 이르렀다.
을지문덕은 왕명을 받고 수나라 군영에 나가 거짓으로 항복하였는데 사실은 그 허실(虛實)을 보기 위해서였다. 이보다 앞서 우문술과 우중문은 (수양제의) 밀지(密旨)를 받았는데, 만약 고구려의 왕이나 을지문덕이 와서 만나거든 이들을 잡으라는 것이었다. 우중문 등은 을지문덕을 억류해 두고자 하였는데, 상서우승(尙書右丞) 유사룡(劉士龍)이 위무사(慰撫使)로 있으면서 강하게 제지하므로 마침내 그의 의견을 따랐다. 우중문 등은 을지문덕이 돌아가자 깊이 후회하였다. 사람을 보내 을지문덕을 속여서 “다시 의논할 것이 있으니 돌아오기 바란다.”라고 전하였으나, 을지문덕은 돌아보지 않고 마침내 압록수를 건너서 돌아갔다. 우문술과 우중문은 이미 을지문덕을 놓쳤다고 여기고 마음속으로 불안해 하였다.
우문술은 군량이 다 떨어졌기 때문에 돌아가고자 하였지만, 우중문은 정예병으로 을지문덕을 추격하면 공을 세울 수 있다고 생각하였다. 우문술이 이를 제지하자, 우중문은 화를 내며 “장군은 10만 병력으로 작은 적조차 패배시키지 못하면서 무슨 낯으로 황제를 알현할 수 있겠는가?”라고 하였다. 우문술은 어쩔 수 없이 우중문의 의견을 따랐다.
수나라 군대는 압록수를 건너 그를 추격하였다. 을지문덕은 수나라 군사가 굶주린 기색이 있음을 보고, 그들을 지치게 만들고자 매번 싸울 때마다 쉽게 패배하였다. 우문술은 하루 동안에도 7번 싸워서 모두 이겼다. 우문술은 이미 여러 차례 승리를 거두었다는 것을 믿고, 또한 여러 사람들의 의견에 쫓겨서 마침내 진군하였다. 동쪽으로 살수(薩水)를 건너 평양성(平壤城)으로부터 30리 떨어진 곳의 산에 의지하여 군영을 세웠다. 을지문덕이 우중문에게 시(詩)를 보냈다. “신묘한 계책은 천문(天文)을 꿰뚫었고 지리(地理)를 다하였네. 싸워서 이긴 공이 이미 높았으니 만족할 줄 안다면 그치면 어떠할까!” 우중문은 답서를 보내 을지문덕을 타일렀다.
을지문덕이 다시 사신을 보내 거짓으로 항복하고 우문술에게 요청하기를, “만약 군사를 돌리신다면, 마땅히 왕을 모시고 행재소(行在所)로 가서 입조(入朝)하겠습니다”라고 하였다. 우문술은 병사들이 지친 것을 보고 다시 싸우기는 힘들다고 여겼고, 또한 평양성의 지형이 험하고 수비가 단단하여 갑자기 함락시키기 어렵다고 생각하였다. 마침내 그 거짓 항복을 이유로 삼아 회군하였다.
수나라 군대는 방형으로 진을 갖추고 행군하였는데, 을지문덕이 군사를 내어 사면(四面)에서 이들을 습격하여 쳐부수었다. 우문술 등은 싸우고 행군하기를 반복하였다. 살수에 이르러 수나라 군대가 살수를 반쯤 건너자, 을지문덕이 군사를 내보내 그 후군(後軍)을 공격하였다. 우둔위장군(右屯衛將軍) 신세웅(辛世雄)을 죽이니, 이에 수나라의 여러 군사가 모두 무너져 막을 수 없었다. 수나라 9군(九軍)의 장수와 병졸이 도망쳐 돌아갔다. 하루 밤낮에 압록수에 이르렀으니, 450리를 이동한 것이었다. 처음 요수(遼水)를 건넜을 때 9군(軍)의 군사가 30만 5000명이었는데, 요동성(遼東城)에 돌아온 것은 단지 2700명이었다.
『삼국사기
'삼국사기' 관련자료