高丽与契丹之战

背景

10世紀初，位於今中國內蒙古和東北地區的契丹族崛起。916年，耶律阿保機統一契丹各個部落後稱帝建契丹國（後改國號遼）。922年，耶律阿保機派特使到高麗送駱駝、馬匹和氈。高麗於925年遣使對契丹進行了回訪。926年契丹滅渤海國後，兩國開始交惡。高麗開始大量吸納並善待渤海遺民。契丹再次送來50匹駱駝時候，遭到高麗太祖回絕，契丹來使一行38人被放逐孤島，送來的駱駝也被餓死。
985年7月，遼聖宗即位的第二年，遼開始發兵攻打高麗，但因道阻而放棄。986年，高麗受宋之邀結盟對抗遼。983至993年，遼對鴨綠江流域的女真部落和定安國進行了征討，並最終於911年2月在鴨綠江江口修築了威寇、振化、來遠3城。為抵禦契丹入侵，高麗開始北伐加強邊防。成宗九年（990）10月，高麗將鴨綠江外的女真驅遷到長白山下。

第一次戰爭

993年農曆五月，高麗西北地區女真通知高麗，遼密謀出兵，但高麗未有反應。八月，女真再報高麗，高麗才派遣諸道兵馬齊正使準備兵馬應戰。十月，高麗以侍中朴良柔為上軍使、內史侍郞徐熙為中軍使、門下侍郞崔亮為下軍使，在北界防禦越過鴨綠江大舉入侵的80萬遼兵。閏十月丁亥日成宗到西京，又到安北府鼓舞士氣。雙方在蓬山郡展開激烈戰鬥，最終蕭遜寧率領的遼軍攻破蓬山郡，俘高麗先鋒軍使尹庶顏。蕭遜寧提出高麗以新羅建國。鑑於遼已攻占高句麗舊土，高麗應交出所占高句麗舊土，臣服於遼，否則兵戎相見。高麗宮廷為此驚恐。為迫使高麗屈服，蕭遜寧繼續南下攻打安戎鎮（今安州），但受阻。安戎鎮的高麗官兵以少勝多擊敗遼軍。
見識高麗在安戎鎮的反擊能力，蕭遜寧意識到以武力征服高麗的代價將是巨大的，於是遣使勸高麗投降。徐熙請命與之談判。蕭遜寧起初提出要以南北而座的君臣之禮相見，但徐熙堅持以平等方式談判。經過幾番外交周旋，雙方最終以東西相座的平等方式進行了談判。徐熙在談判中對蕭遜寧的領土主張提出了反駁，說高麗都高句麗舊都平壤，以高麗為國號，高句麗舊土為高麗所有。他表示高麗並非不願臣服於遼，只是兩國被女真相隔。經過談判，蕭遜寧與徐熙最終達成協議。遼將鴨綠江左岸女真之地讓給高麗，高麗則與宋斷交，奉遼為正朔。
994年2月，蕭遜寧與徐熙達成的協議得到遼聖宗的批准。接到蕭遜寧的文書後，高麗開始使用遼的年號統合。同年4月，高麗遣侍中朴良柔到遼，告行正朔，並請求遼釋放戰俘。6月，高麗派秘史元郁到宋朝商討聯合滅遼。宋以「北鄙甫寧不宜輕動」為由拒絕。只是優待高麗使者後遣還。此後，高麗按照與遼的協議與宋斷交。994-995年，高麗平西北女真，在鴨綠江東修築了興化、龍州、通州、鐵州、郭州、龜州6城，與遼以鴨綠江為界。雙方此後和平相處。

第二次戰爭

1004年，遼大舉入侵宋朝，雙方後結「澶淵之盟」。1009年，高麗發生康兆政變。高麗將軍康兆殺死高麗穆宗，擁立王詢為王，是為顯宗。1010年，高麗尙書、左司郞中河拱辰攻擊東女真，兵敗後懷恨在心，與和州防禦郞中柳宗一起殺死了95名來高麗朝貢的女真人。女真後求契丹為其出氣。同年7月，遼聖宗耶律隆緒派遣給事中梁炳大將軍那律允到高麗質問殺害穆宗之事。高麗一方面展開外交斡旋，多次派使去遼增進友好關係，另一方面預感遼將再次入侵，派康兆率30萬軍隊駐守在遼入侵必經之地通州（今平安北道宣川郡）。
1010年11月，耶律隆緒以為穆宗報仇為由，率40萬契丹大軍渡過鴨綠江，圍攻興化鎮。但高麗守將楊規、李守和等堅守城池，遼軍圍攻7日仍不能攻下。遼軍軟硬兼施，一方面發書函稱此次興兵只為問康兆弒君之罪，只要交出康兆，立即撤兵，否則玉石俱焚，雞犬不留，另一方面給興化守城將領送去綢緞衣飾與銀碗。但楊規絲毫不為之所動。
耶律隆緒無奈放棄興化，兵分兩路，屯20萬於麟州，自己親率餘下20萬攻打康兆所在的通州。康兆分兵為三，隔水步陣，以劍車排陣多次擊敗遼軍。但遼軍先鋒耶律盆奴最終攻破高麗的布陣，俘虜康兆，追殺退卻的高麗軍隊數十里。高麗損失軍隊3萬餘人。耶律隆緒多次要康肇投靠遼國，但康肇不肯。於是耶律隆緒將他處死。遼軍派兩名俘虜變節的高麗大臣前往通州勸降，但守城高麗將領緊閉城門拒敵固守。
1010年12月6日，遼軍攻下郭州。安州守城將領棄城而逃。遼軍趁勢攻西京平壤，焚中興寺塔，圍城。顯宗見勢不妙命人送上降表。耶律隆緒派韓杞為特使，率200騎兵勸降，但被西京守城將領卓思政殺死。耶律隆緒派兵攻西京與卓思政交戰。在後方，楊規帶兵從興化攻入郭州，解救出7000多名高麗人。耶律隆緒見況決定全力攻克西京，以便控制局勢。卓思政於是率兵退回開京。但西京高麗軍隊依然堅守城池。
卓思政到開京後勸顯宗投降，但遭到姜邯贊的反對。在姜邯贊的建議下，顯宗於12月28日南下。1011年1月1日，遼軍攻下開京，焚掠，宮闕民屋皆被焚。由於後方興化、龜州、通州和西京的高麗軍民仍在奮力反擊遼軍，耶律隆緒無力南下追殺顯宗，於1月11日撤兵。後退之時，「所降諸城皆叛」，龜州、通州和郭州等地高麗軍民對撤退的遼軍發起猛烈攻擊，遼軍傷亡甚重。
《高麗史》記載遼軍撤走時經過龜州，別將金叔興與中郞將保良擊契丹兵斬萬餘級，楊規掩擊契丹兵於無老代，斬二千餘級。解救被虜男女三千餘人，又在梨樹大戰追至石嶺斬二千五百餘級，解救被虜千餘人，後三日又戰於余里站斬千餘級，解救千餘人，當天三戰皆捷，復邀其前鋒於艾田攻擊遼軍，斬千餘級，契丹大軍到來，楊規與叔興終日力戰，兵盡矢窮，戰死。契丹兵渡鴨綠江時，鄭成追擊，契丹兵很多溺死。楊規以孤軍旬月七戰。奪回被虜人三萬餘口。獲駝馬器械不可勝數。

第三次戰爭

1011年1月耶律隆緒撤兵後，高麗遣使謝遼班師，但耶律隆緒要顯宗親自來朝覲。高麗以「王病不能親朝」為由拒絕。此後，遼開始要求高麗歸還鴨綠江東岸的6城。之前耶律隆緒從高麗撤軍時遭到6城猛烈襲擊，險些全軍覆沒。高麗擁有這6城後，東北女真各部紛紛來高麗朝貢與高麗建立友好關係。耶律隆緒因此決意收回江東六城。
幾番外交周旋無果後，遼於1014年10月派蕭敵烈率軍攻打通州和興化鎮等地，但被高麗將領鄭信勇和別將周演擊退。1015年1月，遼以來遠城為中心在鴨綠江建長橋。高麗出兵制止無果。遼最終建成連接來遠城和義州的橋樑，並在鴨綠江東岸修建保州城。同月，遼攻破宣化和定遠（遼稱宣州）二鎮。遼趁勢繼續南下圍攻興化鎮，但被守城高麗將領高積余和趙戈擊退。此後，遼又攻打通州、龍州，但都無功而返
1015年9月，遼再次發兵攻打通州。興化鎭大將軍鄭神勇、別將周演、散員任憶、校尉楊春*、大醫丞孫簡、太史丞康承穎等引兵出戰，遼兵陣亡七百餘，高麗鄭神勇等六名將領陣亡。4日後，遼兵攻寧州城,不克，退軍。3日後，遼兵再次攻寧州城。高麗大將軍高積余、將軍蘇忠玄、高延迪、散員金克、別將光參等追擊，戰死。遼軍虜走兵馬判官王佐、錄事盧玄佐而去。11月，遼派5萬5千精兵攻克定遠，興化二城。1016年1月，耶律世良、蕭屈烈帶兵與高麗戰於郭州以西。高麗士兵陣亡數萬，損失慘重。遼軍直至南海，耶律世良逝世，遼軍遂退。
1017年8月，遼國蕭合卓率兵第三次為江東六城入侵高麗，圍攻興化鎮。堅一、洪光和高義等守城高麗將領奮勇抵抗。遼兵圍城9日不克，無功而返。
1018年10月，遼派蕭排押率10萬大軍第四次為江東六城入侵高麗。高麗以平章事姜邯贊為上元帥，大將軍姜民瞻為副，率軍20多萬抵擋。姜邯贊重兵屯於興化鎮，以逸待勞擊敗遼軍。蕭排押轉而繞過姜邯贊的防禦，去攻開京。途中，在慈州被姜民瞻殲滅萬餘人。蕭排押一意孤行繼續向開京開進。姜邯贊率兵應戰，遼軍幾乎全軍覆滅，生還者只有數千人。蕭排押後被遼撤了官職。

後續

1019年8月，遼原本再次發動一次更大規模的戰爭，但雙方都疲憊於常年征戰，最終議和。1022年，遼冊封顯宗為高麗國王，送食邑萬戶、食實封千戶，以及很多禮品。1029年，興遼國謀求聯合高麗攻打契丹。高麗並未響應。1031年，顯宗和耶律隆緒相繼去世。
戰爭結束後，遼沒有再入侵高麗，雙方睦鄰友好。不過保州成立雙方的歷史遺留問題。高麗多次派使到遼，要求歸還保州，但遼一直不予理睬。1117年3月，遼被金擊敗，契丹王在逃命之時發書函將來遠城和保州一併歸還高麗。1126年12月，金將保州歸還高麗。