을지문덕은 삼국시대 살수에서 수나라 군대를 물리친 고구려의 관리이자 무신이다. 생몰년은 미상이다. 612년(영양왕 23) 수 양제가 100만이 넘는 대규모 군단을 편성해 고구려에 침공했다. 육군은 요동성을, 30여만의 별동대는 평양성을 목표로 진격했다. 을지문덕은 별동대를 평양성까지 유인하면서 지치게 만드는 전략을 구사했다. 전의를 상실한 수나라 군대가 회군을 결정하고 살수를 건널 때 일대반격전을 벌여 30여만의 병력 중 불과 2700명만 살아서 도주하는 괴멸적 타격을 입혔다. 이 살수대첩은 수 양제에게 총퇴각을 결심하게 만들었다.
『자치통감(資治通鑑)』에는 ‘위지문덕(尉支文德)’이라고도 표기하였다.『삼국사기(三國史記)』을지문덕전(乙支文德傳)에서는 그의 세계(世系)를 알 수 없다고 하였다. 조선 후기의 저술인 『 해동명장전(海東名將傳)』에 “을지문덕은 평양 석다산(石多山) 사람이다”라고 서술되어 있으나, 후대의 기록이므로 사실 여부는 불확실하다. 612년 살수(薩水: 지금의 청천강)에서 수나라 별동대(別動隊) 30만을 격멸시킨 이른바 살수대첩을 거둬 위기에 처한 고구려를 구하고 불세출의 명장(名將) 반열에 올랐다.
612년(영양왕 23) 수나라는 양제(煬帝)의 총지휘 아래 대규모의 군단을 편성해 고구려에 대한 침공을 감행하였다. 이 때 육군은 고구려의 주요 군사거점인 요동성(遼東城: 지금의 遼陽)을 공격하였다.
또한 다른 한편으로는 우중문(于仲文) · 우문술(宇文述) 등을 지휘부로 한 30만 5,000명의 별동부대를 구성해 수군과 더불어 고구려의 국도(國都)인 평양성(平壤城)을 공격하고자 하였다.
수나라의 별동대가 압록강 서쪽에 집결하자 을지문덕은 거짓 항복을 청해 적진으로 들어가 직접 수나라 군세의 실상을 정탐하였다. 이때 수나라군이 군량이 부족하다는 점을 간파하였다. 돌아온 후에는 수나라군과 충돌할 때마다 패한 척 도망가는 작전을 구사하며, 평양성 부근까지 유인하여 극도로 지치게 만들었다.
또한 전의를 상실하고 후퇴의 구실을 찾던 수나라군에게 “신통한 계책은 천문을 헤아리며 묘한 꾀는 지리를 꿰뚫는구나. 싸움마다 이겨 공이 이미 높았으니 족한 줄 알아서 그만둠이 어떠하리(神策究天文 妙算窮地理 戰勝功旣高 知足願云止)”라는 희롱조의 오언시(五言詩)를 보내 수나라 군대의 회군을 종용하였다.
을지문덕은 수 양제에 대한 영양왕(嬰陽王)의 알현 등을 제시하며 거짓 항복을 청해 수나라군에게 퇴각의 구실을 만들어주었다. 식량 부족과 피로로 곤경에 처해 있던 수나라군은 이를 받아들여 회군을 결정하였다. 이에 을지문덕은 일대 반격전을 전개하였다. 살수를 건너는 수나라군을 배후에서 공격해 압도적인 승리를 거두었던 것이다. 이때 수나라 별동부대는 장수 신세웅(辛世雄)이 전사하는 한편, 30만 5,000명에 이르렀던 병력 중 불과 2,700명만이 살아서 도주하는 등 괴멸적인 타격을 입었다. 이에 양제는 수나라군의 총퇴각을 결심하게 되었다. 고구려가 대수 전쟁에서 승리하는 데 결정적인 계기가 된 이 싸움을 '살수대첩'이라 한다.
‘을지(乙支)’라는 성에 대해서는 고구려 관등명(官等名)의 하나인 우태(于台)와 같이 연장자 · 가부장(家父長)을 뜻한다는 해석이 있다. 또한 ‘을’만이 성이고, ‘지’는 존대의 접미사로 보는 견해도 있다. 그리고 선비족(鮮卑族) 계통의 성인 ‘울지(尉遲)’씨와 같은 것으로 보아 을지문덕을 선비족 계통의 귀화인(歸化人)으로 보는 견해도 있어 논란이 되고 있다. 한편 그가 우중문에게 보낸 5언시에서 보이는 한문학(漢文學)에 대한 이해 수준을 고려할 때 낙랑(樂浪) · 대방(帶方) 지역 토착 호족세력(豪族勢力)으로서 이 시기 새롭게 등장하였던 신진 귀족세력으로 보는 견해도 있다.