高句丽东部大人渊盖苏文杀死荣留王后立高藏为王并自封为「大莫离支」摄政。为征讨渊盖苏文和保护唐朝的盟友新罗，唐太宗认为有必要对高句丽开战。644年，太宗率领李世勣、李道宗、张亮和长孙无忌统军10万亲征高句丽。645年，太宗冲破高句丽的防线准备攻打高句丽国都平壤，似乎大功在即。不料在安市（今辽宁鞍山）受阻，再也无法前行。在这之后，太宗对高句丽的进攻仅维持在一些小规模的突袭。646年，唐朝与回纥击灭薛延陀后，647年，唐太宗令牛进达率兵从海上、李世勣率兵从陆路攻打辽东半岛。648年，太宗再派薛万彻率军从海上攻打鸭