唐太宗征讨高句丽（제1차 고구려-당전쟁，第一次高句丽-唐战争、제1차 여당전쟁，第一次丽唐战争）发生在645年（唐太宗贞观十九年）。642年（贞观十六年），渊盖苏文杀害荣留王之后，拥立荣留王的侄子高宝藏为王，并自封为“大莫离支”摄政。唐太宗为了声讨渊盖苏文弑君、帮助与高句丽作战的新罗，准备与高句丽开战。644年（贞观十八年），太宗带领李世𪟝、李道宗、长孙无忌诸将率军亲征高句丽。645年（贞观十九年），唐军冲破高句丽的防线，似乎大功在即，准备直接攻打高句丽国都平壤。但在安市城（今辽宁省海城市）受阻，再也无法推进。当年秋季，唐军班师。从此之后，太宗对高句丽的进攻，仅保持在一些小规模的袭击。647年（贞观二十一年），唐太宗派牛进达率兵从海路、李世𪟝率兵从陆路攻打辽东半岛。648年（贞观二十二年），太宗再派薛万彻率军从海路攻打鸭绿江口。唐朝与回纥等铁勒诸部击灭薛延陀，设立燕然都护府后，开始集结水陆大军，准备在649年（贞观二十三年）再一次大规模攻打高句丽。不过由于太宗于同年驾崩，使唐朝再攻高句丽的战役搁浅。直到668年（总章元年），才由太宗的儿子唐高宗派军联合新罗灭亡了高句丽。
背景
隋炀帝对高句丽的连年征战，使得隋朝国力锐减，民心丧失，这成为隋朝灭亡的一个主要原因。同时，高句丽也因消耗太大而臣服隋朝，不敢再惹事。因此，618年（武德元年），唐高祖建立唐朝之后，高句丽荣留王高建武与唐朝修好，622年（武德五年），双方交换隋朝战争时的战俘。624年（武德七年），荣留王接受了唐朝的年号武德。高祖册封荣留王为辽东郡王、高句丽王。与此同时，唐朝册封百济武王扶余璋为带方郡王、百济王，新罗真平王金伯净为乐浪郡王、新罗王。
626年（武德九年），在唐朝开国战争中立下显赫功劳的秦王李世民发动玄武门之变，皇太子李建成和齐王李元吉被杀。高祖李渊立李世民为皇太子后两个月内禅，李世民成为唐朝第二任皇帝，庙号太宗。唐太宗在位前期很长时间里，唐朝与高句丽大致维持着友好的关系。太宗试图在海东三国之中保持主导地位。太宗登基后不久，就派朱子奢到朝鲜半岛谴责海东三国之间的相互争斗。631年，在得到高句丽荣留王的同意后，太宗派特使到高句丽重新安葬阵亡的隋兵。但太宗对高句丽没有放弃征服策略。太宗认为高句丽据有的“辽东”（当时的“辽东”的概念略同于汉朝四郡的范围，即中国东北辽河以东地区以及朝鲜半岛的北部）为“旧中国之有”，而今“九瀛大定，唯此一隅”，决心将对高句丽的征伐作为中国统一战争的最后部分。双方在背地里都明白两国最终不免一战。高句丽花费了巨大人工物力，在沿唐边境修筑了高句丽长城，从夫余城（今吉林省四平市以西）至渤海，长千余里，用时十六年修成。
641年（贞观十五年），太宗派遣使者陈大德出访高句丽。陈大德在高句丽访问期间，遇到了许多在高句丽安顿下来的原隋朝兵将。陈大德回到长安后，将这一情况禀告了太宗。太宗于是萌生攻打高句丽的想法，但很快又打消了这一念头，说是为了不让山东人受到兵役劳累。
642年（贞观十六年），高句丽荣留王高建武和大臣合议，打算诛杀暴力而凶残的臣下渊盖苏文。渊盖苏文闻讯后，设下陷阱邀请诸大臣观看他的军队阅兵，并设宴款待。在宴席上，渊盖苏文杀死了荣留王的一百多位大臣，继而进宫弑杀了荣留王，而后拥立荣留王的侄子高藏为高句丽王。渊盖苏文自封为“大莫离支”，控制了高句丽军政大权，进行摄政。这一消息传到唐朝，亳州刺史裴庄建议攻打高句丽。但太宗却表示自己对荣留王的遇害感到悲哀，但以乘其国丧攻打高句丽并不合适。不过，643年（贞观十七年）太宗又开始考虑对高句丽动武，并想先命令契丹和靺鞨偷袭高句丽。太宗的内兄司徒长孙无忌对此表示反对，建议太宗先假装与高句丽交好，然后趁其不备再进攻。太宗接受了他的建议，册封宝藏王为辽东郡王、高句丽王，授予“上柱国”的称号。
643年（贞观十七年），新罗善德女王上书唐朝称百济联合高句丽攻打新罗，请求唐朝援助。太宗于是派司农丞相里玄奖到高句丽，下令高句丽和百济停止攻打新罗。相里玄奖到达高句丽都城平壤时，渊盖苏文正在与新罗交战。得知相里玄奖的到来，渊盖苏文返回到平壤会见他。渊盖苏文拒绝了太宗的要求。相里玄奖回到长安后，将此事禀告太宗。太宗于是决意攻打高句丽，大将李世𪟝也表示支持。虽然褚遂良等文官表示反对，但太宗攻打高句丽的决心已定。
第一次战争
张俭征高句丽
新罗数次向太宗请援，644年（贞观十八年），太宗派阎立德到洪州（今江西省南昌市）、饶州（今江西省鄱阳县）和江州（今江西省九江市）筹建四百艘军船，用以运输粮草，并派遣营州都督张俭、守左宗卫率高履行等率领幽州（今北京市）、营州（今辽宁省朝阳市）两个都督府的兵马以及忠于唐朝的契丹、奚、靺鞨的仆从军队，让他们对高句丽进行探试性的攻击。张俭领军到达辽西，因为辽水正在汛期，水势大涨，唐军长期未能渡河。太宗将张俭召回洛阳询问后，发现他对高句丽的山川地形极为熟悉，于是仍任命他为行军总管，兼领诸蕃部的骑兵，为大军前锋。
御驾亲征高句丽
渊盖苏文马上派特使到唐朝朝贡讲和，以避免双方战争的升级。不过太宗并没有接受高句丽的朝贡，反倒将使者拘押，指控他们背叛荣留王，与弑君者同谋。644年冬，太宗带着皇太子李治和大多数官员离开长安，开始向边境进发。房玄龄和李大亮留守都城长安。太宗先是到了洛阳，又作了几个月的进一步准备。
大概在645年的新年，太宗下令以刑部尚书、郧国公张亮为平壤道行军大总管，左领军常何、泸州都督左难当为平壤道行军副总管，冉仁德、刘英行、张文干、庞孝泰、程名振等人为总管，率江、淮、岭、硖劲卒4万3千人，乘500艘战船（阎立德所造）从莱州出发，渡黄海向平壤进发。与此同时以英国公李世𪟝为辽东道行军大总管，礼部尚书江夏王李道宗为辽东道行军副总管，张士贵、张俭、执失思力、契苾何力、阿史那弥射、姜行本、曲智盛、吴黑闼、李元正为行军总管隶之，率步骑6万从陆地向辽东进军。同时下诏令契丹酋长于勾折、奚酋长苏支、新罗王金善德、百济王扶馀义慈等诸国君长领兵助战。
太宗对这场战争的胜利充满信心。他认为隋炀帝之所以没能战胜高丽的原因是隋炀帝对自己的人民过于残忍而高句丽则爱惜自己的人民。隋炀帝用要反叛的部队来打高句丽团结一心的军队，因此是不可能取胜的。现在这一切都已得到改变：首先，这次战争是大国打小国；其次，这场战争是正义之师讨伐叛逆之贼；第三，这场战争是组织有素的部队攻打另一个混乱的部队；第四，这场战争是精力充沛的部队攻打另一个疲惫不堪的部队；最后，这场战争是士气高昂的部队攻打另一个抱怨连天的部队。因此唐这次攻打高句丽是胜券在握。
645年（贞观十九年）春二月十二日，太宗率六军和长孙无忌等文武重臣开始离开洛阳前往高句丽。宋国公萧瑀被留下来看守洛阳。三月十七日到了定州（今河北保定）后，太宗让太子李治监国，并留在那负责部队的后勤任务。与李治一齐留守定州还有高士廉、刘洎、马周、张行成、高季辅。三月二十四日太宗带着长孙无忌、岑文本、杨师道、尉迟敬德、刘弘基、阎立德等大臣继续前行。四月初六日到达幽州后由长孙无忌在城南进行誓师大会，并犒劳六军后向辽东进发。十日岑文本在幽州病逝。
盖牟城之战
与此同时，李世𪟝和李道宗已先于太宗渡过辽河，645年夏四月二十六日，李世𪟝攻下盖牟城（今辽宁省抚顺市），获得人口二万，粮十万石，太宗改称其地为盖州。在海路，张亮等已越过渤海登陆，五月初二日，麾下行军总管程名振乘夜从西门攻下沙卑城（今辽宁省大连市），俘虏其男女八千人。为了震慑高句丽，张亮派先遣船队到鸭绿江入海口，但并没有按太宗最先要求进一步向平壤进发。
辽东城之战
很快，李世𪟝和李道宗将隋炀帝曾久攻不下的辽东城（今辽宁省辽阳市）包围。五月初八日高句丽派国内城和新城4万步骑来支援辽东城，李道宗先是遣手下将领张君乂迎战，不久张君乂不支向后退却。李道宗见情势紧急，亲率骑兵4千冲锋，一举击破高句丽援军，斩首千馀级，张君乂作战不利溃退被处决。
五月十日太宗度过辽河后，下令拆除桥梁，以坚定士卒决心。到辽东城外与李世𪟝会合后，将辽东城重重包围。五月十七日行军大总管、英国公李世𪟝率行军总管张俭等人以及契丹、奚、霫等族仆从军攻其南面。副大总管江夏郡王李道宗、第一军总管虢国公张士贵等人，率军攻其西面。前军大总管夔国公刘弘基等，负责填壕沟。鄂国公尉迟敬德指挥军乐队奏乐助阵。高句丽为防御唐军的抛石车，在城楼上积木为战楼，但并不能抵御飞石的打击，在抛石车和撞车的攻击下，纷纷倾倒。此时大刮南风，李世𪟝下令发射火箭纵火焚其西南楼，风助火势，延烧到城中。唐军登城击破城楼上的盾排兵后，攻下了辽东城。此役高句丽被烧死者万余人，俘虏士兵上万，户口四万人，粮五十万石。以其城为辽州。
白岩城之战
拿下了辽东城后，唐军进军白岩城，由行军大总管英国公李世𪟝总指挥。攻城时右卫大将军李思摩中箭，太宗亲自为他吸血疗伤，以鼓励士气。白岩城靠山临水，极难攻下。贞观十九年六月丁酉（六月初一日，645年7月2日），白岩城城主孙代音请降，获男女一万人，胜兵二千四百，以其城置岩州，授孙代音为岩州刺史。
驻跸山之战
随后太宗开始向安市城（今辽宁鞍山）进军，六月二十日到达安市城下。二十一日高句丽北部耨萨高延寿、南部耨萨高惠真率高丽、靺鞨兵十五万援救安市，二十三日行军大总管李世𪟝率虢国公张士贵等马步军十四总管领步骑一万五千人于城西岭立阵迎敌，赵国公长孙无忌则率牛进达等马步军二十六总管以及精兵一万一千为奇兵，埋伏于山北。太宗亲自带领骑兵四千，潜趋敌营北山之上（驻跸山，今辽宁省辽阳市西南的首山）。
高延寿、高惠真在与李世𪟝对阵时，长孙无忌、牛进达等率军从狭谷冲出，冲击高句丽军后部，李世𪟝以步卒长枪一万在前攻击，太宗则领兵从山上冲击，在三面夹击下，十五万高句丽军崩溃，被斩首二万余级。唐军左武卫将军王君愕战死。高延寿、高惠真冲出包围，依山自保。
唐军在驻骅山大破高句丽之后，高延寿、高惠真率其余众三万六千八百人请降，太宗任命耨萨以下酋长三千五百人为武官，迁到中国内地，馀众三万放还平壤，将反唐的靺鞨三千馀人，尽数坑杀。获马三万疋、牛五万头、明光甲五千领，辎重无数。高句丽放弃后黄城及银城，数百里无复人烟。太宗将此战驾临的山冈命名为驻跸山，因此又称为“驻跸山之战”，以两万五破十五万，三面夹击，堪称经典。太宗又令将作监画《破阵图》，命中书侍郎许敬宗撰文勒石以纪其功。此战中薛仁贵穿上异于众人的白色衣甲，手持方天画戟英勇作战，自此得到太宗赏识，成为唐朝大将。
安市城之战
在攻安市城前，太宗就得知安市城地势难攻，安市城主（中国及朝鲜史书中均失安市城城主的名字，明代小说《唐书志传通俗演义》此人名叫梁万春，朝鲜民间传说又作杨万春）机智勇敢有一支强大的守城部队。渊盖苏文摄政高句丽后，安市城主拒绝接受渊盖苏文摄政。渊盖苏文曾发兵攻打安市城，但没有成功，因此只好让安市城主继续担任其职务。太宗打算先攻打较为容易的建安城（今辽宁省营口盖州市）。这样拿下安市城南边的建安城，安市城也就不攻而破。李世𪟝对此表示反对。他认为如果太宗先攻建安城，安市城就会切断唐从辽东的供给线使唐军陷入被动。于是太宗决定还是先围攻安市城。
当太宗和李世𪟝的部队到达安市城后，安市城的守城者见到太宗的旗帜就在城墙上大声漫骂，太宗大怒。李世𪟝于是请求太宗拿下安市城后坑杀全城百姓。这使得安市城的守卫者更加奋力抵抗唐军。就这样李世𪟝一时间拿不下安市城。
一天，太宗从安市城中传出杀鸡宰猪的声音。于是告诉李世𪟝说高句丽人可能在宴请守城部队准备突袭。李世𪟝于是作好了高句丽会在晚上突袭的准备。事不出所料，安市城当晚真的对唐军进行了突袭。不过早有防备的太宗，亲自率兵击退了高句丽的进攻。
与此同时，李道宗开始在安市城的东南构筑一个用于进攻安市城的土山。为此，安市城也不断加高东南边的城墙。双方这样对峙了60天后，李道宗的土山已经高到可以看到安市城的里面。李道宗和他的手下果毅都尉傅伏爱登上了土山顶。忽然，土山出现了倒塌，并倒在了安市城的城墙上。安市城的城墙也因此倒塌。傅伏爱这时却擅离职守。高句丽趁乱发动进攻占领了土山，并使其成为安市城防守的武器。太宗一怒之下，公开处死了傅伏爱并下令对土山进行疯狂攻击。不过打了三天也没拿下来。李道宗于是赤脚向太宗请罪。不过太宗因其辽东等功勋而宽恕了他。
随着冬天的临近，唐的供给也开始匮乏。645年九月十八癸未日（10月13日），太宗下令班师，临行前在安市城下炫耀兵威，安市城中皆紧闭城门不敢出战，安市城主登上城楼向太宗行拜礼辞别，太宗赏赐安市城主缣帛百匹，以表扬安市城主的忠诚。
班师
太宗在从辽东班师的时候，将辽东城和盖牟城的居民迁往唐的地域内。据《资治通鉴》和《三国史记》记载，大约有7万高句丽人从辽东迁入唐。太宗在过辽河的时候，遇到了泥沼。长孙无忌、杨师道等动用了1万人砍伐树木填平泥沼后，唐军的大部队才通过辽河。一些士兵因此在寒冬等待时被冻死。此次战争，唐朝起兵十万，陆路六万，海路4.3万，共十万人马，未能全功。太宗很后悔发动了这场战争，说要是魏征还活着，魏征一定会劝阻他不要发动这场战争。魏征643年病故后，太宗曾怀疑他与侯君集和杜正伦结党，而毁掉了他自己亲自撰写的魏征墓碑。忏悔后，太宗下令重建魏征的墓碑并召见和奖赏了魏征的遗孀和孩子。
冬十月十一日，唐军到达营州（今辽宁省朝阳市），以太牢（牛、羊、猪三牲全备）之礼祭奠战死将士。二十一日太宗率军进入临渝关（即山海关），皇太子李治自定州前往临榆关接驾。二十三日到达汉武台（在河北省秦皇岛市北戴河联峰山上），刻石纪功。十一月初七日到达幽州，初九犒劳全军后正式班师回朝。十六日到达易州（河北省易县），二十二日到达定州（河北保定）。十二月，在定州到并州（今山西省太原市）的路上，太宗病痈，十二月十四日到达并州，在并州修养了几个月后才于次年三月初七日回到长安。回到长安后，太宗由于身体不适，将一般政事交由了太子李治处理。
太宗在路上处决了一些作战不利的将领，如平壤道行军总管张文干，而走海路的平壤道行军大总管张亮在战前就不看好这次征讨，怯懦畏战，后见太宗决心已下，遂请求统帅海路大军。以大总管之职，领4万余将士，只有麾下行军总管程名振攻下沙卑城，俘虏8千人，又在建安城下，不立营垒，被敌军偷袭，“亮素怯懦，无计策，但踞胡床，直视而无所言”，最后副将张金树鸣鼓令士众击贼，才击退敌军。太宗对其极为不满，因战时不便处置，回到长安后，三月二十七日在有人（名常德玄）告发其要谋反时，将张亮处斩。
646年（贞观二十年）闰三月二十七日，唐朝撤销辽州都督府（下辖辽州、盖州、岩州）及岩州（白岩城）编制，将岩州辖地划归辽州管辖，而原属辽州都督府的辽州（辽东城）及盖州（盖牟城）则改由营州都督府管辖。两军小规模战斗不断，高句丽也对新罗发动报复，攻击不止。
朝鲜18世纪以后的诗文、笔记小说称太宗眼部受到了箭伤。受伤说法于史无据。
第二次战争
太宗班师后，渊盖苏文更加不把唐放在眼里，并时常偷袭唐的边境。太宗多次要他停止对新罗的攻击，但渊盖苏文对此毫不理睬。646年，宝藏王献给太宗两个美女，表示善意，太宗没有接受。太宗以弓服赐给渊盖苏文，渊盖苏文接受，但不遣使者答谢，于是当年冬十月，太宗下诏削弃高句丽的朝贡，不再承认高句丽的政治地位，并计划再次征讨，考虑灭亡高句丽。唐朝大臣指出虽然因为高句丽城池依山而建，地形对唐军极为不利，因而导致贞观十九年（645年）对高句丽的进攻不成功，但战争使高句丽进入饥荒。因此建议太宗小规模攻打高丽句使高句丽农民无法耕作加剧高句丽的饥荒。在这一政策的指引下，于是太宗再次发起对高句丽的战争。虞部员外郎唐逊被任为扬州道造船大使，与副手钟离县令强伟造海船一千艘。
647年（贞观二十一年）三月初二日，太宗任命左武卫大将军牛进达为青丘道行军大总管，英国公李世𪟝为辽东道行军大总管，率领李海岸、孙贰朗、郑仁泰三个行军总管讨伐高句丽。牛进达和李海岸领一万余人从莱州渡海攻打辽东半岛南部，李世𪟝和孙贰朗、郑仁泰领配兵三千人和营州都督府所管辖兵马，从陆路渡过辽河袭击高句丽。五月二十五日李世𪟝攻克南苏城、木底城，将其城郭烧毁后退兵。七月十一日牛进达所部一万余人攻克高句丽的石城，虏男女数百人。进军至积利城下，高句丽出军万馀人拒战，李海岸等击破之，斩首二千级。唐军在取得积利城之战的胜利后，“乃皆还”，即退兵回国。
这两支部队以攻城略地，烧杀掳掠为目的。
第三次战争
647年（贞观二十一年）八月初四日，太宗派“遣宋州刺史王波利、中郎将丘孝忠发江南十二州（宣、润、常、苏、湖、杭、越、台、婺、括、江、洪）工人造入海大船及艓船三百五十艘，将征高句丽”，当时唐军刚刚结束青丘道行军和辽东道行军，而太宗就已经开始准备新的进攻了。十二月，高句丽再次派出使者（高宝藏第二子莫离支高任武）谢罪，太宗假意答应。
648年（贞观二十二年）正月二十五日，太宗派薛万彻和裴行方率军3万再次从莱州渡海入鸭绿江攻击高句丽。四月十四日唐军先锋古神感在曷山与高句丽步骑五千人短兵相接，斩首八百馀人。夜里再次设伏大败要乘夜偷袭水军船队的高句丽军万余人。六月二十七日薛万彻舟师深入鸭绿江百余里，派出一支奇兵偷袭大行城，至泊灼城（在今辽宁省丹东市以北的虎山）南四十里登陆扎营。泊灼城主所失孙（或所夫孙）率步骑万余人迎敌。薛万彻遣右卫将军裴行方领步卒，折冲尉罗文合为援军继进，自己领兵设伏突然出击，大破高句丽军，所失孙被斩杀。唐军进兵围泊灼城，高句丽派遣高文率乌骨（或马骨）、安地诸城兵三万余人来援，分为二个军阵。薛万彻也分为两军对阵，一接触之下即冲溃高句丽军，唐军俘获大批高句丽战俘，并攻克了泊汋城。九月初五日，唐军退兵回到国内。薛万彻在军中与诸将不和，回国后裴行方告发其对皇帝不满，被李世𪟝抨击后除名，流放象州（广西桂林）。后参与房遗爱谋反案被杀。
战果
* 攻占玄菟城、横山城、盖牟城、磨米城、辽东城、白岩城、卑沙城、麦谷城、银山城、后黄城等十城。
* 获户6万、人口16.8万。
* 从四月到十月三次大战，前后斩首四万馀级。降其大将二人，裨将及官人酋帅子弟三千五百人，兵士十万人（后放还本土）。获牛马各五万匹。
后续
太宗相信648年对高句丽的小规模袭击已消弱了高句丽的力量，于是准备在649年率30万部队一举灭亡高句丽。一些唐的官员指出发动这样规模的战争需要有一年的粮食储备，并需要建造更多的战船。由于剑南道（今中国四川省、云南省和重庆市）一直没有卷入从隋到唐的讨高句丽战争，因此唐的官员建议在这一地区建造船只。太宗对此表示同意并派强伟到剑南道筹建船只，下令船造好后经长江、东海运到莱州。除此之外，越州（今浙江省绍兴市），婺州（今浙江金华市）和洪州也负责建造一些船只。不过人们很快就意识到剑南道的人并不擅长建造船只，因此剑南道最后只负责提供建船的木材。这些木材被运到潭州（今湖南省长沙市）造船。
649年，太宗驾崩，依照太宗的遗愿攻打高句丽的计划被取消。唐高宗继位后，唐对高句丽和百济又发动了一系列战争。660年唐与新罗的联军先灭了百济。668年冬，唐和新罗的联军最终灭亡了高句丽。