唐朝初立, 當時朝鮮半島並存三個獨立國家, 北部為高句麗, 南部偏東為新羅, 南部偏西為百濟。 其中新羅一直與唐廷保持朝貢關係。 貞觀十七年九月, 新羅遣使入朝, 述說百濟攻佔其40餘城, 並與高句麗圖謀斷絕其唐朝的通路。 唐太宗李世民則以高句麗據有的“遼東”為“舊中國之有”, 而今“九瀛大定, 唯此一隅”, 決心將對高句麗的征伐作為中國統一戰爭的最後部分。
貞觀十九年, 唐太宗親率大軍征討高麗。 六月二十日, 唐軍進至安市城下, 縱兵攻城, 高麗北部耨薩(相當於唐的都督)高延壽、高惠真率15萬高麗、靺鞨兵前來救援。 唐太宗設計將高麗援軍誘至安市城東南8裡處, 依山為陣, 長40裡。 命太子詹事、左衛率李績率1.5萬名步騎兵在西嶺佈陣, 長孫無忌率牛進達等精兵1.1萬做為奇兵從山北穿越峽谷衝擊高麗軍陣後, 唐太宗親率4000步騎兵偃旗息鼓登上北山,
二十二日, 高延壽等人見李績佈陣, 便集合部隊, 準備迎戰。 擔任奇襲任務的長孫無忌、牛進達部率先與高麗軍交戰, 唐太宗在高處見塵煙驟起, 遂命擂鼓舉旗, 唐軍各路兵馬即鼓噪並進。 高延壽驚慌失色, 本欲分兵迎戰,
此後, 由於已近深秋, 遼東一帶早寒, 草枯水凍,