唐太宗攻高句丽之战是李世民晚年对外发动的一次大规模战争。
644年七月至645年九月,李世民统率十五万大军与高句丽二十万守军血战于辽东(辽阳、抚顺至营口一线)。647年、648年,李世民先后命李勣、古神感攻伐高句丽。
与东突厥、吐谷浑、高昌等西北战争相比,高句丽之战耗时最长、兵力投入最多、战况最惨烈,此战虽然攻克辽东十余个城池,但未达到灭亡高句丽的目的。

因此高句丽之战成为李世民的意难平,从战略角度出发,李世民作为天策上将的不败神话被打破。
649年,也就是三征高句丽的第二年,李世民宣告驾崩,虽然因病而逝,但消灭高句丽的计划破产却也成为其一块心病,使得这位历史上最杰出的统治者抱憾离世。
高句丽挑衅大唐,是可忍孰不可忍644年七月,唐太宗李世民统率大唐十五万精兵浩浩荡荡的杀向辽东。此时的李世民已御宇天下十八载,虽已接近知天命的年龄,但依然雄姿英发。
自十八岁起兵反隋以来,李世民先后克长安躲关中,平定陇右薛仁杲,驱逐山西刘武周。
此后东出中原,在虎牢关之战中以少胜多力克河北军阀窦建德、洛阳军阀王世充,创下“一战擒两王”的军事奇迹,因其功勋卓著,封无可封,被册立为天策上将。
626年玄武门之变后,李世民指挥着大唐军队灭东突厥、克吐谷浑、平高昌、退吐蕃、败薛延陀,威震四海,功盖寰宇,被尊为天可汗。

此次李世民再次御驾亲征,并非心血来潮,而是他十分清楚这个对手非常棘手难缠,高句丽这个名字已经成为中原王朝的梦魇。
因为就在三十年前,他的伯父隋炀帝(李渊的亲表哥)三次亲征高句丽,耗费物资数以亿计,征发军队民夫数百万,但均以惨败告终。
高句丽战场的惨败和隋炀帝的残暴统治导致大量农民起义和军阀割据,隋朝在风起云涌的起义中走向崩溃。
而高句丽这边不仅随意奴役压迫被俘虏的隋朝士兵,还把隋军士兵的尸体筑成京观,以炫耀战绩。
唐朝建立后,高句丽君主高建武推行亲唐政策,派使者前来朝贡,唐高祖李渊册封其为上柱国、辽东郡王、高丽王,从此高句丽与唐朝进入一段和平友好时期。
626年李世民继位,大唐进入迅速发展的快车道,对外实行积极防御战略。
贞观五年,李世民派人去高句丽收殓埋葬隋朝时期战死的隋人尸体,摧毁高句丽建立的京观。

高建武建筑了从东北扶余到西南大海的长达千余里的长城,以防备唐军,这标志着唐朝与高句丽的蜜月期结束。
不过两国表面上仍维持朝贡关系,一方面是因为高建武亲唐总方针没有变化,另一方面是李世民专注于经略突厥和西北事务,无暇东顾。
公元642年(贞观十六年)发生的一件事打破了东北边疆的安宁。
高句丽权臣泉盖苏文杀死高建武,另立其侄高藏为王,泉盖苏文掌权后,高句丽外交大幅转向。
他开始实施对外扩张战略,摒弃对唐友好,并出兵新罗,阻断其朝贡唐朝的通道,还遣使前往漠北,欲联合薛延陀汗国抗衡唐朝。
643年,新罗遣使入朝,述说高句丽联合百济攻取其40余座城,乞求出兵救援。
当时的李世民本未将东北看作重要战略经营方向,但高句丽竟与薛延陀勾肩搭背却触犯了李世民的逆鳞。

而眼下东突厥已灭,西域重回大唐势力范围,吐蕃业已臣服,李世民开始腾出手来应对东北问题。在调停失败后,李世民决定对高句丽用兵,东北局势陡然紧张。
李世民血战高句丽,却落得抱憾离场644年七月,李世民下达攻打高句丽的作战指令,任命太子詹事兼左卫率李勣为辽东道行军大总管,江夏王李道宗为辽东道行军副总管,领步六万骑步兵主力直趋辽东(今辽宁辽阳)。
任命刑部尚书张亮为平壤道行军大总管,领兵四万余,战舰500艘,自莱州(今属山东)渡海直指平壤,与李勣水陆并进。
李世民本人则与太子太师长孙无忌从洛阳北上,领五万精锐集合于幽州向东与李勣主力会师。
营州都督张俭率幽、营二都督府兵及契丹、奚、靺鞨等部先入辽东以观其势。

此役李世民志在毕其功于一役,大唐猛将精兵云集,光是运粮舰船就多达400余艘,可见是下足了决心攻灭高句丽。
与隋炀帝杨广的独断残暴相比,李世民要高明许多,不仅启用的军队和民夫数量相对较少,而且做足了思想动员工作,亲自慰问生病的士兵,给予优厚的待遇。
很多人不预征名,自愿以私装从军,皆以“不求县官勋赏,惟愿效死辽东”的气魄表明征战高句丽的态度。
在李世民的精心筹划下,唐军气势如虹,战争初期进展迅速,645年四月,李勣出其不意渡辽水,进至玄菟(今沈阳东)。
高句丽未加防备,大惊失色,皆闭门自守。李道宗领兵攻克盖牟城(今抚顺),俘虏两万余人,获粮十余万石,对辽东城形成压迫之势。
与此同时,张亮从海上登陆,攻占卑沙城(今大连市金州区),分遣总管丘孝忠屯兵鸭绿水(鸭绿江),阻挡高句丽援军。
五月,李勣、李道宗对辽东发起进攻,泉盖苏文以四万主力援助辽东,李道宗率四千骑兵为先锋迎战,李勣率主力接应,大败高句丽军,斩首敌军千余人。

不久,李世民亲率精兵与李勣汇合,唐军主力一举攻占辽东,杀敌一万多人,俘获士兵百姓五万余人。
辽东之战,唐军旗开得胜,李世民决定一鼓作气,拔除高句丽在辽东半岛的全部势力。
接下来,唐军进军白岩城(今鞍山岫岩),高句丽守军拼死抵抗,双方展开惨烈厮杀,唐军大将契苾何力亲自杀入敌人的阵地,被刺中腰,又捆住伤口,继续作战。
在唐军的猛烈进攻下,高句丽军大败,唐军追杀数十里,斩首千余级。六月,唐军占领白岩城。

此时的形势对唐军极其有利,辽水以北尽归唐军,张亮则率军北上,与李勣主力南北夹击。
同时先头部队张俭已渡辽水趋建安城(今辽宁营口),斩高句丽兵数千人,高句丽被压缩于建安城东西线一隅。
随着战争的持续推进,高句丽不断派出援军,军队增至十余万。
而此时唐军面临一个问题,沿白岩城南下到达安市城(辽宁海城东南营城子),此地易守难攻,高句丽大将高延寿、高惠真的十余万主力集结于此。
李世民打算先攻打较为容易的建安城,但李勣却表示反对,因为安市城位于建安城东北方向,如果先攻建安,安城守军就会切断辽东到这里的补给线,唐军主力会陷入被动。
李世民听取李勣的建议,集中兵力攻打安市城。为了尽早消灭安市守军,李世民命左卫大将军阿史那社尔率突厥千骑与之接战,诈败引敌军入山谷。
李勣和长孙无忌各领精兵一万余人前后夹击,斩杀敌军两万余人,高延寿、高惠真率3.6万余人请降,高句丽残余军队逃回城中闭门不出。
此后李世民下令猛攻,高句丽守军殊死抵抗,双方展开激烈城池攻防战,李道宗在城东南筑土山以逼近城墙,又命士卒车轮战消耗敌军,发射冲车炮石击毁城楼。

城中守军前赴后继,拼死保卫城池,冒着箭矢不断增高城墙抵挡,双方足足相持六十余天。
期间,降将高延寿、高惠真献策放弃安市,先取乌骨城(辽宁丹东),其余挡道小城必溃,平壤则不可守。唐军诸将亦多主张直取平壤之建议。
但长孙无忌认为,天子亲征不可冒险侥幸,万全之策仍是先破安市,再取建安。李世民采纳其建议,坚持攻城。
就这样,夏去秋来,辽东大地进入寒冷季节,草枯水冻、战马难以久留,再加上唐军粮食将尽,李世民不得不撤军及时止损,第一次征伐高句丽战争宣告结束。
此战李世民攻克十座城,占领辽东大片土地,歼灭四万余高句丽军有生力量,精锐部队几乎遭受毁灭性打击。
相比之下,唐军仅有数千人阵亡,此前辽东被高句丽占据二百余年,唐军夺取辽东相当于在辽东地区打入一个厚重的楔子,为以后对高句丽用兵建立前哨阵地,从战术上讲,李世民取得阶段性胜利。

不过战争中,李世民过于求稳,未采纳乘虚直取平壤的建议,未能出奇制胜,又因安市久攻不下而被迫撤军,未能完成彻底消灭高句丽的战略目的。
所以李世民在撤军后即谋划再次征伐高句丽,不过李世民年事渐高,身体欠佳,未能亲征。
先后于647年、648年分别命李勣,古神感攻打,两次进攻均有不少斩获。
高句丽势力遭到沉重打击,元气大伤,但始终未能消灭。649年,李世民带着遗憾离开人世,而消灭高句丽的目标在十多年后,由他的儿子李治完成。