大唐貞觀十六年十一月二十五日,遼王李恪率領八萬大軍兵分兩路登陸朝鮮半島。西路大軍由宣威將軍薛仁貴帶領,統兵三萬從鴨綠江入海口以南八十裏處的平川城登陸。在登陸前的炮擊中,建在平川城外靠近海岸的防禦城牆,已經被炸開一道寬度超過七十裏的缺口。登錄時,在禺京艦的炮火掩護下,登陸將士乘坐靖海艦以及舢板,僅僅用了大半天的時間,便全部登上陸地,並且牢牢地占據了一段長約二十裏的城牆。
到了晚間,已經有超過六十門的艦用神威大炮被拆卸下來,並架設到到城牆之上。經過一夜的休息,第二天一早,太陽剛剛升起,整整八十門神威大炮便向著平川城發動了炮擊。整整十輪炮擊過後,三萬大軍開始向平川城進發。當大軍到達平川城西門外的時候,整座城池的西城牆已經殘破不堪,城中的大量居民以及士卒,正在匆忙的通過其他三座城門逃離平川城。
大唐軍隊毫無阻攔的從西門進入到平川城內,此時城內仍舊有大量居民來不及逃出城。由於害怕大唐的軍隊會采取激烈的手段,控製城內的局勢,所以當見到大唐的軍隊已經開進城中,居於出城的百姓也就越發的著急,不但由於踩踏造成大量的傷亡,更加導致了三座城門都被堵死的情況發生。
薛仁貴所率領的這三萬人馬,全部都是陸戰士卒,而且沒有經過海戰訓練。在海上停留的這幾天,令他們倍感疲憊,雖然經過一晚的休息,但是仍舊沒有完全恢複。再加上守城的高句麗軍隊,早已經在百姓出城之前,便已經全部撤出這裏,即便是現在便出城追擊,也未必能夠追上他們。所以薛仁貴下令,隊部進城之後不得組織當地百姓出城,並且在所有百姓出城之後,立即升起吊橋,關上城門。除了留下一部分士卒負責擔任警戒之外,其餘的士卒全部休息恢複體力。
第二日,士卒除了將西城牆清理一番,還有一個任務就是將前一日在炮擊中喪命,以及在逃離過程中喪命的屍首全部處理掉。清理工作整整的持續了三天,這才令西城牆初步的具備了防禦的功能。
第四天一早,薛仁貴親自率領一萬人馬轉頭向北推進,用了五天時間攻克了北至鴨綠江邊的五座城池,與李恪留守在這裏的部隊彙合。然後又掉轉頭向東南推進,一直打到清川江畔,這才順江而下。而薛仁貴麾下的另外一支一萬五千人的部隊,在房遺愛的率領下,用了半個月的時間沿著西海岸一路向東南推進,直至在辱夷城下與薛仁貴的大軍彙合。這期間房遺愛連克高句麗城池十餘座,殲敵數超過二十萬(炮火攻城,城中傷亡百姓全部算到戰果當中)。
而北路的李恪則率領五萬大軍,沿鴨綠江畔的防禦城牆一路東進。直至打到朝鮮半島的東海岸,然後才兵分五路齊頭並進,一路向南推進。一路之上勢如破竹,根本就沒有高句麗的城池,能夠堅守兩日以上。而且在分兵之前,李恪曾經下達了死命令,攻城前一旦勸降失敗,城破之時就堅決不留下任何的高句麗士卒。