藏王为辽东郡王、高句丽王,授予"上柱国"的称号。但背后,双方都明白最终不免一战。643年,新罗善德女王传书说高句丽联合百济攻取新罗40余城,新罗危在旦夕,并向唐朝请求援助。唐太宗于是派相里玄獎到高句丽下令高句丽和百济停止攻打新罗。相里玄獎到达高句丽都城平壤时,渊盖苏文正在与新罗交战。得知相里玄獎的到来,渊盖苏文返回到平壤会见他。不过,渊盖苏文拒绝了唐太宗的要求。相里玄獎回到长安后将此事禀告唐太宗后,唐太宗于是决意要攻打高句丽,大将李世勣也表示支持。尽管褚遂良反对,但唐太宗攻打高句丽的决心已定。
贞观十七年,此时的唐朝,经过十余年的"贞观之治",国力强盛,兵强马壮,于是唐太宗决定攻打高句丽,彻底解决这个由来已久的"顽症"。贞观十九年,唐太宗以高句丽"残虐其民"、"侵暴邻国"、"违我诏令"为由,凭借"辽东本中国之地,隋氏四出师而不能得。今朕东征,欲为中国报子弟之仇,雪君父之耻耳"的话语,说服了众人,于是命刑部尚书张亮为平壤道行军大总管,自己率军从洛阳出发,御驾亲征高句丽。
二、唐的攻势
644年,唐太宗派阎立德到洪州(今江西南昌)、饶州(今江西上饶)和江州(今江西九江)筹建400艘军船,并将幽州(今北京)以及忠于唐的契丹和靺鞨部队划给营州的指挥官,让其对高句丽进行探试性的攻击。渊盖苏文马上派特使到唐朝贡讲和,以避免双方战争的升级。不过唐太宗并没有接受高句丽的朝贡,反倒将来使拘留起来,指控他们背叛荣留王,与弑君者同谋。644年冬,唐太宗带着大多数官员和皇太子李治离开长安开始缓慢向唐与高句丽的边境进发。房玄龄和李大亮留守都城长安。李世民先是到了洛阳并在那又作了几个月的进一步准备。大概在645年的新年,唐太宗下令张亮率4万3千部队乘500艘战船从莱州出发,过黄海向平壤进发。与此同时让李世勣率6万部队从陆地向辽东进军。
唐太宗对这场战争的胜利充满信心。他认为隋炀帝之所以没能战胜高句丽的原因是隋炀帝对自己的人民过于残忍而高句丽则爱戴自己的人民。隋炀帝用要反叛的部队来打高句丽团结一心的军队,因此是不可能取胜的。现在这一切都已得到改变。首先这次战争是大国打小国。其次这场战争是正义之师讨伐叛逆之贼。第三这场战争是组织有素的部队攻打另一个混乱的部队。第四这场战争是精力充沛的部队攻打另一个疲惫不堪的部队。最后这场战争是士氣高昂的部队攻打另一个抱怨连天的部队。因此唐这次攻打高句丽是胜券在握。645年春,唐太宗开始离开洛阳攻打高句丽。萧瑀被留下来看守洛阳。到了定州(今河北保定)后,唐太宗让李治留在那负责部队的后勤任务。与李治一齐留守定州还有高士廉、刘洎、马周、张行成、高季辅。李世民这带着长孙无忌、岑文本、杨师道继续前行。岑文本在幽州病逝。