公元663年,大唐名将苏定方率军攻灭百济后,唐高宗李治设置熊津都督府,以白江口海战的名将刘仁轨为都督,苏定方率主力撤回大唐本土,只留下1万多人驻防。熊津都督府是大唐在朝鲜半岛上布置的一个楔子,它深深地刺痛了高句丽脆弱而敏感的神经,为了不坐以待毙,高句丽多次发动对熊津都督府的攻击,试图趁唐军立足未稳之际将刘仁轨的唐军赶下大海,面对高句丽10多万大军的攻势,刘仁轨镇定自若,多次击败高句丽的攻击,双方你来我往,互有攻守,最终熊津都督府依旧岿然不动。
公元666年一个天大的好消息传到了长安城,大唐数十年的梦想终于有了实现的契机。高句丽的战斗英雄、高句丽权臣泉盖苏文去世,其长子泉男生继任权位,泉男生在一次出巡时,指派他的弟弟泉男建、泉男产留守都城平壤。泉男建趁机取得国家,自任宰相,并发兵讨伐泉男生。泉男生逃跑,驻守另外的城邑,让他儿子泉献诚到唐朝求救。高句丽的内乱给了大唐灭亡高句丽的良机,况且还是送上门来的那种,唐高宗李治没有理由不接着,况且经过数年的休整,唐军已经恢复了强大的战斗力,而熊津都督府又给了唐军一个绝好的进攻平台,灭亡高句丽的天时地利人和全部具备,大唐对高句丽的最后一战正式拉开序幕。
当年六月,壬寅(初七),李治任命突厥归附将领、右骁卫大将军契苾何力为辽东道安抚大使,领兵救泉男生;任命泉献诚为右武卫将军,担任向导。又任命右金吾卫将军庞同善、营州都督高侃为行军总管,共同讨伐高句丽,打响了对高句丽灭国战争的第一枪。主力唐军在泉男生等“内应”的配合下从辽东出发,从北部边境攻入高句丽本土。与此同时刘仁轨统率所部和新罗友军袭扰高句丽南部地区,高句丽在大唐和新罗联军的2线攻势下,迅速溃败,北方边境重镇接连失守,最终只得龟缩在扶余城、平壤等重镇,凭借城池据险死守,唐军的攻势逐渐被削弱,随着天气转冷,唐军的后勤问题越来越突出,最终不得不暂时停止攻势,双方以实际控制区暂时休战,高句丽战事似乎又要陷入僵局。
为打破僵局,公元667年,李治祭出最后的“大杀器”。以开国名将李世绩为统帅,帝国最优秀的青年将领薛仁贵为先锋出动10万大军重新发起对高句丽的攻势。李世绩迅速攻占高句丽重镇新城(今辽宁抚顺北高尔山城),随后突破高句丽十五万军队防守的辽水防线,斩首一万多级,打破了高句丽战事的僵局,此后唐军牢牢掌控了战场的主动权。
大唐总章元年(668)二月二十八日,薛仁贵攻占扶余城(今辽宁四平),斩俘万余人,扶余川中40余城亦望风归降。李世绩所部也在扶余城外全歼泉男建的5万精锐,并乘胜攻占大行城(今辽宁丹东西南娘娘城)。此后各路唐军会师,一路推进至鸭绿江。唐军奋勇突破鸭绿江防线,再败高句丽军,一路追奔200余里,攻占重镇辱夷城(今朝鲜永柔境),高句丽其他各城守军或逃或降。唐军顺利推进至高句丽国都平壤城下。
面对高大坚固的平壤城,李世绩没有选择强攻战术,而是采用围困战术,将平壤团团包围,围点打援,四处攻击救援平壤城的高句丽援军,截断平壤城与外界的联络和物资供应。围困平壤一个多月后,高句丽王高藏派泉男产率首领98人出降。泉男建仍然闭门拒守,并多次遣兵出战,皆败。九月十二日,高句丽僧信诚打开城门,唐军冲进城中,复活泉男建,高句丽遂全部平定。历时多年的高句丽战争最终以大唐的全胜而告终,当高句丽的捷报传到长安时,李治激动万分,当即到太庙中向先帝李世民汇报战况,大唐的军功到达顶峰。
战后,李治在高句丽旧地设置安东都护府,治所就在高句丽旧都平壤,辖9都督府、42州、100县,并任命此次战争中表现优异的右威卫大将军薛仁贵为检校安东都护,领兵2万镇守其地。至此,离开中原300多年的汉四郡故土重归中原王朝的版图,大唐无上荣光。