신성과 국내성에서 급파되었던 고구려 지원군 4만의 거센 공격을 우선 뿌리친 이세적의 요동도행군은 당태종 이세민의 친정군을 기다렸고 당태종의 친정군은 요수를 건넌 다음 다리를 철거하여, 마침내 5월10일 요동성에 도달하여 이세적의 요동도행군과 합류하였다. 당태종은 강하왕 이도종을 위로하여 상을 주고, 마문거를 몇 급 올려 중랑장으로 삼고, 장군예의 목을 베었다. 이세민은 직접 수백 명의 기병을 거느리고 요동성 밑에 가서, 군사들이 흙을 지고 참호를 쌓는 것을 보았다.이세민은 직접 제일 무거운 것을 자기 말에 실었다. 이에 시종들이 다투어 흙을 운반하여 성 밑에 쌓았다.

당군은 이세적의 지휘 하에 밤낮 없이 12일 간 요동성을 맹공격하였다. 여기에 당태종 이세민의 친정군이 합류하여 정예 부대를 이끌고 성을 수백 겹으로 포위하였다. 북소리와 함성이 천지를 진동시켰다.성 안에는 주몽의 사당이 있었고, 이 사당에는 쇠사슬 갑옷과 날카로운 창이 있었는데, 망녕되게도 이전 연 나라 시대에 하늘이 내려 준 것이라고 하였다. 바야흐로 포위 태세가 긴박해지자, 미인을 부신으로 분장시켜 놓고 무당이 말하기를 "주몽이 기뻐하니 성은 반드시 보전될 것이다"라고 하였다. 또한 요동성에는 백제가 황색 칠을 한 쇠 갑옷을 바치고, 또 검은 쇠로 만든 무늬있는 갑옷이 있어 군사들에게 입혀 종군하였다.

요동성은 요동지역 최대의 성이자 고구려의 거점이었다. 하지만 요동성은 험준한 산에 의지하여 구축된 백암성, 안시성, 건안성같은 다른 고구려의 산성과는 달리 평지에 지어진 성이었다. 학자들은 평지성에 성의 크기도 크기때문에 방어가 어려운 요동성은 요동의 전력의 1/3인 7~8만 혹은 10만여 병력이 주둔했다 보고있다. 당나라군은 예전 고구려-수 전쟁 때 수나라군이 동원했던 포차보다 훨씬 위력적이고 강력한 개량된 포차를 동원하였다. 당군은 이러한 신형 포차를 열지어 놓고, 큰 돌을 3백 보 이상 날려 보냈다. 돌이 맞는 곳마다 모두 허물어졌다. 아무리 철옹성인 요동성이라도 평지에서 이러한 포차 공격에는 취약할 수 밖에 없었다.

고구려군은 나무를 쌓아 누대를 만들고 그물을 쳤으나 돌을 막을 수 없었다. 당나라 군사는 충거로 성 위의 집을 부수었다. 이 때 남풍이 세게 불자 당왕 이세민이 민첩한 군사로 하여금 장대의 꼭대기에 올라가서 성의 서남루를 불사르게 하였다. 불이 성 안으로 타들어가자 이세민은 곧 장병들을 지휘하여 성에 오르게 하였다.

마침내 5월17일,과거 고구려-수 전쟁때 수나라가 총력을 기울여도 함락되지 않았던 요동 최대의 요새 요동성이 함락되었다. 요동성은 고구려 요동지역의 가장 크고 상징적인 요동 최대의 성이었다. 이때 성이 함락하여 사망자가 1만여 명이었다. 당 나라는 군사 1만여 명과 남녀 주민 4만 명을 생포하고, 양곡 50만 석을 탈취하였으며, 요동성을 요주(遼州)로 개칭하였다. 당군은 이제 뒤이어 남쪽의 백암성(白巖城)으로 몰려가 공격을 시작했다.
백암성의 이름을 바꾼 나라는?
당 나라