八月十日,唐太宗 又将军营移于安市城南,切断了安市与建安两城之间的联系。然后下令李世□攻城。李世□等拥高延寿等高丽降众营于安市城下,招降城中将士。但城中坚守不动, 且每次看见太宗旌旗麾盖,必乘城鼓噪,以弓矢相拒。太宗大怒,李世□乘机请求克城之日,男子尽诛。此话传入城中,守军益愤,人皆死战,故久攻不克。这时, 高丽降将高延寿献策,应释放高丽降将与妻子团聚,以动安市守军之心,然后移兵进攻乌骨城(今辽宁凤城以南),该城守军弱少,可朝至夕克,最后麾军南下,平 壤可唾手而得。群臣诸将亦建言应与张亮所率水军会师,并力攻拔乌骨, 渡鸭绿水,直取平壤,在此举矣 。唐太宗正要采纳这一建言,但长孙无忌却极力谏止。 他认为如移兵乌骨,则建安、新城的高丽守军必 跟吾后 ,我军则有腹背受敌之忧。因此,他主张先破安市,再取建安,然后长驱而进, 此万全之策 。唐太宗 遂打消了移兵乌骨的念头。长孙无忌的建议当然是万全之策,但是这就让唐军陷入了正面作战一颗颗拔高丽建立的诸多 钉子 的过程,战争必然旷日持久,而且当 唐军拔完所有的钉子之后,还能有多少兵力来进攻高丽的都城平壤呢?显然按照这样的方针来办,想要一举攻灭高丽就成了一个不可能完成的任务。
当日午后,安市城中传出猪、鸡鸣叫之声,唐太宗估计高丽守军可能夜袭唐营,遂严兵设备。果然,高丽数百人于夜半缒城而下,唐太宗亲自驰至城下,麾军急 击,高丽军死者数十人,余者只能退回城中。第二天,唐太宗又令江夏王李道宗督众在安市城南修筑土山,以逼城内。城内守军亦增高其城,与唐军相拒。双方兵士 又分番交战,每天都要六七回合。唐军兵士用冲车炮石,摧毁楼堞,城中守军即用木栅塞堵被打出的缺口。李道宗在修筑土山时,足部受伤,唐太宗亲自为其针灸。 因此,筑山昼夜不息,先后历时六十多天,用工五十多万人次,山顶距城仅有数丈,下临城中。李道宗派果毅傅伏爱将兵屯土山之顶备敌。由于山顶过高,根基不 固,屯兵过多,土山塌倒,压坏了城墙一角。这时正值伏爱擅离职守,高丽守军数百人从城缺处杀出,占据了土山, 堑而守之 。如此一个绝佳的攻克安市城的机 会被如此浪费,还反而被对方转为自己的防御屏障,太宗怎能不大怒?于是将傅伏爱斩首示众,令诸将率兵夺回土山。但接连三天进攻均未奏效。李道宗赤脚行至旗 下请罪,太宗以其破盖牟和辽东之功,特予赦而不罪。这时,安市城不懈的防守终于将唐军拖入了九月,辽东地区寒霜早降;草枯水冻,加之军粮将尽,士马难以久 留,太宗遂于九月十九日,下诏班师,太宗征高丽之战至此结束。
回师前,太宗十分欣赏安市城城主的顽强,特别赐百匹绸缎以资奖励。而城主杨万春亦登城拜谢,遥送唐军回朝。安市城之战无论攻方守方均表现出了极高的水准,所谓英雄惜英雄,虽然作为敌对的双方,但是最后都表现出了一种骑士精神,也给战争史上留下了一段佳话。
在征讨高丽的整个过程中,太宗皇帝不但亲上前线奋勇杀敌,而且对修筑攻城的工事、过沼泽时铺路这些苦力活均亲力亲为,最后回程的时候跟士兵一样破衣敝裳,坚持不换他那件已经满身是洞的黄袍。《诗经 无衣》的歌谣传唱了千年,太宗皇帝恐怕是最得个中三昧的君王了。
唐军在这次东征中,共攻拔玄菟、横山、盖牟、磨米、辽东、白岩、卑沙、麦谷、银山、后黄等十城,迁徙辽、盖、岩三州户口七万人入山海关内。共歼敌四万, 降其大将二人,裨将及官人酋帅子弟三千五百,兵士十万人,并给程粮放还本土。又获牛马各五万以及大量的粮食。唐军自身损失仅两千,战马死者十之七八。