太宗连夜召集文武大臣商议战事,命令李世积率领一万五千名步兵和骑兵在西岭布阵;长孙无忌率领一万一千名精锐士兵作为奇兵,从山北的狭谷出击,冲击敌军的后方;太宗亲自率领四千名步兵和骑兵,携带战鼓号角,隐蔽旗帜,登上北山,下令各路军队听到鼓角声后一同出击。太宗还命令有关部门在朝堂的侧面设置受降的营帐。戊午日,高延寿等人远远望见李世积布阵,便整顿军队,准备出战。太宗看到长孙无忌的军队扬起尘土,立刻下令擂鼓鸣角,举起旗帜,各路军队呐喊着一同冲锋。高延寿等人惊慌失措,想要分兵抵御,但是阵势已经混乱不堪。恰逢此时电闪雷鸣,龙门人薛仁贵身穿奇特的战袍,大声呼喊着冲入敌阵,所向披靡;高丽士兵纷纷溃散,唐军乘胜追击,高丽军队大败,被斩杀两万多人。太宗远远看到薛仁贵的勇猛表现,战后召见了他,任命他为游击将军。薛仁贵是薛安都的六世孙,名礼,以字行于世。
高延寿率领残余的部众依山固守,太宗命令各路军队将他们团团包围,长孙无忌则下令拆毁所有的桥梁,切断敌军的退路。己未日,高延寿、高惠真率领部众三万六千八百人请求投降。他们进入唐军军营大门时,双膝跪地向前爬行,叩拜请罪。太宗对他们说:“你们这些东夷的年轻人,在海边逞强作乱,至于决战决胜,本来就比不上我们中原的老将。从今以后,还敢和天子交战吗?” 高延寿等人都趴在地上,不敢回答。太宗挑选出耨萨以下的酋长三千五百人,授予他们唐朝的武职官衔,将他们迁徙到中原内地;其余的士兵全部释放,让他们返回平壤。这些人都高举双手,用额头叩地,欢呼的声音传到了几十里外。唐军收降了三千三百名靺鞨士兵,将他们全部活埋。此战共缴获战马五万匹,牛五万头,铁甲一万领,其他军用器械的数量也与此相当。高丽全国上下大为震骇,黄城、银城的守军都弃城逃走,方圆几百里内再无人烟。
太宗派人骑着驿马送信给太子,还在给高士廉等人的信中说:“朕作为将领,带兵打仗的本领怎么样?” 太宗将此次战斗所登临的山改名为驻跸山。
秋季七月辛未日,太宗将营帐迁到安市城东面的山岭上。己卯日,太宗下诏命人将战死士兵的尸体做好标记,等班师回朝时一同带回安葬。戊子日,太宗任命高延寿为鸿胪卿,高惠真为司农卿。
张亮率领的水军路过建安城下时,营垒还没有修筑坚固,士兵们大多外出砍柴放牧。高丽军队突然发动袭击,军中将士惊慌失措。张亮素来胆小,他坐在胡床上,直视前方一言不发。将士们看到他这副镇定自若的样子,反而误以为他勇敢无畏。总管张金树等人擂响战鼓,整顿军队,反击高丽军队,最终将敌军击败。
八月甲辰日,巡逻的骑兵俘获了莫离支盖苏文派来的间谍高竹离,士兵们将他双手反绑,押送到军营大门。太宗召见了他,亲自为他松绑,问道:“你怎么瘦成这个样子?” 高竹离回答说:“我从小路秘密赶路,已经好几天没有吃饭了。” 太宗命令手下赐给他食物,又对他说:“你身为间谍,应该尽快回去复命。你替朕带话给盖苏文:想要知道我军的消息,可以派人直接到朕的军营里来,何必偷偷摸摸地走小路,辛苦奔波呢!” 高竹离光着脚,太宗又赐给他草鞋,然后将他放走了。
丙午日,太宗将营帐迁到安市城南面。太宗在辽东境内驻扎营帐时,只命令哨兵加强警戒,没有修筑壕沟营垒。虽然唐军的营帐紧逼安市城,但高丽军队始终不敢出城劫掠骚扰,唐军士兵可以单独在野外行走住宿,就像在中原内地一样安全。
当初太宗将要讨伐高丽时,薛延陀派遣使者前来进贡,太宗对使者说:“你回去告诉你们的可汗:现在朕父子二人亲自率军东征高丽,你要是想入侵唐朝边境,就尽管来!” 真珠可汗听后十分惶恐,赶忙派遣使者前来谢罪,并且请求出兵协助唐军作战;太宗没有答应。等到高丽军队在驻跸山大败后,盖苏文派使者游说真珠可汗,用丰厚的利益引诱他出兵,真珠可汗因畏惧唐朝的威势,始终不敢轻举妄动。九月壬申日,真珠可汗去世,太宗为他举行哀悼仪式。
起初,真珠可汗曾请求太宗册封他的庶长子曳莽为突利失可汗,居住在东部,统领其他部族;册封嫡子拔灼为肆叶护可汗,居住在西部,统领薛延陀本部。太宗下诏批准了他的请求,并且按照礼仪正式册封二人。曳莽性情暴躁,轻率好战,与拔灼向来不和。真珠可汗去世后,曳莽前来奔丧。安葬完毕后,曳莽担心拔灼会谋害自己,便提前返回自己的部落。拔灼得知后,率军追击,杀死了曳莽,自立为颉利俱利薛沙多弥可汗。
此前太宗攻克白岩城时,对李世积说:“朕听说安市城地势险要,士兵精锐,城主智勇双全。当年盖苏文发动叛乱时,安市城的守军拒不服从,盖苏文率军攻打