In the summer of 645, the great army of the Tang emperor surrounded a mountain fortress in Liaodong. The fortresses of Yodong and Baegam had already fallen one after another, and a large Goguryeo army sent to relieve it had been beaten close to its walls. Yet this fortress held out for nearly three months, and in the end the emperor turned his army around.
This is the story of Ansi. How much of the saying "one fortress stopped a war" is record, and how much is later storytelling? This article follows the Goguryeo-Tang War of 644 to 668: why it began, how the campaign of 645 and the siege of Ansi unfolded, and how Goguryeo fell afterwards. It draws on an annotated edition of the Samguk Sagi and on entries in the Encyclopedia of Korean Culture from the Academy of Korean Studies.
Why the war began
The two states were not enemies from the start. After the Tang dynasty was founded, they exchanged envoys often, and in 622 they swapped the prisoners taken during the Goguryeo-Sui wars. The encyclopedia entry on the war finds its root cause in the expansion policy of a newly unified Chinese power.
Tension built up step by step. In 631 the Tang tore down a gyeonggwan in the Liaoxi region. It was a victory monument that Goguryeo had raised to mark its win in the war with the Sui. That same year Goguryeo began a long wall, the Cheolli Jangseong, running from Buyeo fortress to the southern tip of the Liaodong Peninsula, and finished it over 16 years.
The man who supervised the wall was Yeon Gaesomun. In 642 he staged a coup, removed King Yeongnyu and his opponents, put King Bojang on the throne and took real power himself. Exactly why the king and Yeon Gaesomun clashed is not known. Among scholars, the common view is that the coup was a reaction against the king's mild policy toward the Tang.
Things also went wrong to the south. Silla, which was losing ground in its fighting with Baekje, sent Kim Chunchu to Pyongyang to seek better relations, but Yeon Gaesomun refused. Facing isolation, Silla drew closer to the Tang. When Goguryeo detained Tang envoys, the tension peaked, and in 644 the Tang army began its attack.
Spring 645: crossing the Liao River
In March 645, Emperor Taizong reached Dingzhou, in what is now central Hebei, and told his officials why he was going to war. The Sui had sent armies four times without winning this land, he said, and for China's sake he would avenge its sons and younger brothers. He also used Yeon Gaesomun's killing of the king and ministers as a pretext. Taizong decided to invade despite considerable opposition at court, and he prepared grain, ships and siege equipment in advance.
On April 1, the vanguard under Li Shiji pretended to march toward Huaiyuan, then suddenly crossed the Liao River at Tongding. The Goguryeo towns were greatly alarmed, and all of them shut their gates to defend themselves. The Tang army tried to throw the defense off balance by attacking several fortresses, including Sinseong and Geonan, at the same time. When that failed, it massed its forces against Gaemo.
In less than two months after that, the big fortresses of Liaodong fell one by one. Gaemo fell on April 26, and Bisa, attacked by Zhang Liang's fleet after it landed on the Liaodong Peninsula, fell on May 2. The Samguk Sagi records that 8,000 men and women were taken when Bisa fell. Yodong, where Taizong himself joined the attack, fell on May 17 after 19 days of assault, and Baegam passed into Tang hands on June 10.
The emperor's own road was not easy either. In the Liao marshes west of the river, mud stretched for more than 200 li, and neither men nor horses could pass. The army crossed only after laying earth to build a causeway. On the way home it would have to cross these marshes again.
Eighty-eight days at Ansi
On June 20, the Tang army reached Ansi. Goguryeo sent Go Yeonsu, the yoksal of the northern district, and Go Hyejin, the yoksal of the southern district, with 150,000 Goguryeo and Mohe troops to relieve the fortress. In the sixth and seventh centuries, a yoksal was a senior official who ran civil affairs in the capital or the provinces and also commanded troops.
Two plans competed inside the Goguryeo command. The veteran generals argued for the traditional approach of holding the main fortresses, stopping the enemy's advance and keeping it from finding food on the spot. The other side wanted a pitched battle on the open Liaodong plain, and the command chose that plan.
The relief army was caught in a Tang encirclement southeast of Ansi, about 8 li from the fortress, and was badly beaten. The encyclopedia entry on the battle says Go Yeonsu and Go Hyejin surrendered with the 36,800 men who survived. The entry on Go Yeonsu says instead that he lost about 30,000 men before surrendering, so even the meaning of the number differs. At this time Goguryeo was also under attack from Silla in the south.
Ansi now stood alone. From the time they took Baegam, the Tang leaders disagreed about what to do with it. Taizong had heard that Ansi was rugged and well manned, and that its lord had held out even against Yeon Gaesomun, who finally left the fortress in his hands. So Taizong proposed striking Geonan first, since it was weakly held and short of grain.
Li Shiji disagreed. Geonan lay to the south and Ansi to the north, he said, and all of the army's grain was at Yodong. If the army skipped Ansi and the Goguryeo forces cut the supply line, what then? Taizong followed the plan of the general he had appointed, and Li Shiji attacked Ansi.
When the attack stalled, other routes were raised. Go Yeonsu, who had surrendered, suggested leaving Ansi behind, taking lightly defended Ogol and marching straight on Pyongyang. But others argued that with the emperor himself in the field, the army could not risk advancing with Ansi at its back, and the siege went on. The entry on Go Yeonsu names Zhangsun Wuji as the official who opposed the plan.
The Tang army brought up the most powerful siege weapons of the day, the pogeo and the chunggeo. The pogeo was a stone-thrower that hurled large rocks, and the chunggeo was a ramming cart built to break walls. Ansi beat back these attacks again and again and quickly repaired the damaged walls. Li Shiji had the west side of the fortress attacked six or seven times a day.
Next the Tang army built a hill of earth. Over 60 days, with a cumulative 500,000 workers, it raised an earth mound higher than the wall at the southeast corner and used it as a platform to attack. The defenders inside answered by building the wall higher.
Then the mound suddenly collapsed, and a corner of the wall broke. Some argue that the defenders had dug a tunnel under the mound to bring it down. The Goguryeo troops came out through the broken wall and seized the mound, and the Tang army attacked fiercely for three days without retaking it. Where the wall had broken, the defenders set up a wooden palisade.
The season was not on the Tang side. With winter coming, the weather turning cold and grain running out, the Tang army lifted the 88-day siege and withdrew in haste on September 18. The entry on the war adds that, while the advance was stalled, its long supply line and rear areas were under threat. In October, while crossing a stream in the middle of the Liao marshes, storms and snow struck, and many soldiers died soaked through.
Mountain fortresses and siege engines
Ansi was a sanseong, a fortress built on a mountain. Goguryeo kept a chain of defensive fortresses along the Liao River basin, such as Sinseong, Yodong, Geonan, Gaemo, Baegam and Bisa. Among them, Ansi ranked second only to Yodong in strategic weight. It sat between Sinseong and Geonan, so if the other fortresses fell at once, its defense would directly shape the defense of the whole Liaodong region.
The attackers' tools fall into three groups. There was the pogeo that hurled large rocks, the chunggeo that rammed the wall to break it, and the earth mound raised higher than the wall as a platform. The first two were meant to break the wall, while the mound was a work project for attacking from a point higher than the wall.
The defenders filled the gaps fast. When the wall broke they repaired it, when the mound rose they built the wall higher, and where it was still breached they set up a palisade. The encyclopedia entry on Ansi reads this contest as a sign that Goguryeo's mountain fortresses of the time were strong in defense.
The traditional plan of holding the fortresses was a defense that made the seasons an ally. The defenders hold the fortresses to stop the enemy's advance and keep it from finding food locally, while separate units cut its long supply lines and harass it with raids. When autumn comes, cold and hunger force the enemy to fall back, and that is the moment to strike. The relief army of 645 fought a pitched battle instead and lost, but once Ansi stopped the Tang advance, Goguryeo regrouped and pressed the Tang this way.
The record and the later stories
The records give the outcome of 645 very different weight. Chinese texts present it as a major success: the Tang took 10 fortresses and killed more than 40,000 Goguryeo soldiers, while losing only 2,000 of its own. The encyclopedia entry on the battle points to two things: Taizong hurried across the Liao only three days after leaving Ansi, and he deeply regretted the invasion afterward. From these it suggests that the Tang losses were far heavier than the records show.
Taizong himself could not look back on the campaign with ease. In February of the next year he asked the general Li Jing why he had run into such trouble while leading the armies of the whole realm.
Accounts of the Goguryeo side also differ. The entry on the battle says Goguryeo's attempt to ally with the Xueyantuo failed. The entry on the war says Goguryeo sent envoys to the Xueyantuo to have them attack the Tang's northern border.
In the Samguk Sagi, each entry for 645 carries an editor's note pointing out that the same content appears in the Chinese history Zizhi Tongjian. The compiler of the Samguk Sagi, Gim Busik, wrote a comment calling Taizong a ruler rarely seen in the world. He then said that since the eastern campaign broke down at Ansi, its lord must have been a hero of no ordinary kind. He found it a great pity that the histories did not record the man's name.
Yet the lord of Ansi is widely known as Yang Manchun. According to the encyclopedia entry on that name, no Korean source up to the Goryeo period gives the lord's name, including the Samguk Sagi and the Samguk Yusa. Chinese sources from before the Song and Yuan periods do not give it either.
The name first appears in a Ming dynasty novel by Xiong Zhonggu, the Tangshu zhizhuan tongsu yanyi, whose earliest surviving printed edition dates from 1553. The six generals of Ansi in that novel were invented characters. The name seems to have reached Joseon through contacts with the Ming around the time of the Imjin War.
There is also a well-known story that Taizong was struck in the eye by an arrow during this fight. That story comes down through texts from the late Goryeo period.
The location of the fortress was also debated for a long time. From the 17th century, Joseon envoys traveling to China began to identify Fenghuang fortress as Ansi. Today the strongest view places it at the Yingchengzi mountain fortress southeast of Haicheng in Liaoning Province, and another view places it at the Hailongtian mountain fortress in Dashiqiao.
The next 23 years: how Goguryeo fell
Judging that Goguryeo could not be taken in one blow, the Tang changed its strategy. It turned to a long war of attrition, sending small land and naval units to raid Goguryeo again and again so that farmers could not work their fields in peace. Because the gap in population and production between the two states was large, this attrition did Goguryeo considerable harm.
Emperor Gaozong chose to open a second front on Goguryeo's southern border. The result was the fall of Baekje to the allied Silla and Tang forces in 660. The next year, in 661, a Tang army under Su Dingfang crossed the sea, sailed up the Taedong River and besieged Pyongyang, attacking it for several months.
This operation differed from 645. With Silla helping with grain and other supplies, the Tang army's biggest problem was eased, and it could now fight even in winter. Goguryeo had to split its defensive strength to face the Silla army as well.
The final blow came from within. When Yeon Gaesomun died in 665, his sons fought over power. Namsaeng, who lost out, went to Gungnae fortress and sent his son to surrender to the Tang, and Yeon Gaesomun's younger brother Yeon Jeongto surrendered 12 fortresses to Silla. After Sinseong and Buyeo fell, the allied Silla and Tang forces took Pyongyang in 668, and King Bojang was taken away to the Tang.
The story of Ansi runs a little longer. After Goguryeo fell, the fortress became a center of the revival movement in the Liaodong region, and it fell to the Tang army in July 671. The fortress that had held for 88 days in 645 fell three years after the kingdom itself was gone.
What to read next
- The Goguryeo-Sui Wars and Salsu: Reading the Million-Man Record. See the Sui campaigns against Goguryeo that came before the Tang, and how to read the huge numbers in old records.
- Military logistics: performance must be sustainable. See how modern armies talk about the supply-line problem that worried Li Shiji in front of Ansi.
- A history of laser weapons: from chemical to electric lasers. Long after the age of walls and stone-throwers, see how long it takes for a new weapon to find its place.