公元644年,唐太宗决议出征,任命张亮为平壤道行军大总管,李勣为辽东道行军大总管,水陆两军进攻高句丽。公元645年5月初二,张亮率水军渡海攻占卑沙城。五月十七,李勣军攻克辽东城;六月,唐军围攻安市城,并围点打援击败高句丽十五万援军。九月,北方渐入寒冬,唐军因粮食补给不足,唐太宗率军班师;
公元647年,唐军二次出征。大将牛进达,李勣率军,唐军大战小站数百场,高句丽国王被迫送其子往唐朝谢罪。
公元648年,唐将古神感,驸马薛万彻又数破高句丽军;
公元649年,在唐军的不断进攻下,高句丽穷困凋弊,唐太宗决定征发30万大军,一举灭掉高句丽,平定东北。却因为当年5月,唐太宗病逝,决战暂缓。