On 15 October, the PLA captured Guangzhou, and the ROC 12th Army Corps was placed under the command of the Southeast Military and Political Office.
Chen Cheng immediately ordered
Hu Lien to lead the 19th and 67th Armies to redeploy to
Chusan. On 16 October,
Tang Enbo, Chairman of the
Fujian Provincial Government and Commander of the Xiamen Garrison, relocated his headquarters to Kinmen. While Hu Lien's forces were still en route by sea, the PLA suddenly captured
Xiamen on 17 October. Chen Cheng assessed that the defences on Kinmen were critically weak and that if the island were lost, the entire coastal region would be compromised, and even Taiwan itself would come under direct threat. He, therefore, dispatched envoys to
Guangzhou to seek Chiang Kai-shek's approval, with
Wang Shih-chieh personally presenting the situation. At the time, Chiang Kai-shek was preparing to fly to
Chungking to organize military affairs in the southwest of Mainland China, but upon receiving Chen Cheng's report, he diverted to Taipei instead. Chen Cheng then modified his original deployment orders, instructing Hu Lien to redirect the second convoy already at sea to reinforce Kinmen. With Chiang's approval, Chen Cheng also transferred the ROC 19th Army (under Major General Liu Yün-Han, comprising the 13th, 14th, and 18th Divisions) to further bolster Kinmen's defences. Following the fall of Xiamen, the PLA's 10th Army Corps continued advancing, capturing Shihching, Lienho,
Greater Tatan,
Lesser Tatan, and Aotou north of Kinmen. On 18 October, under pressure from higher command, the PLA's 28th Army issued deployment orders to assault Kinmen: six regiments, comprising the entirety of the 82nd Division and elements from the 84th and 85th Divisions, were to attack in two echelons. Upon securing Kinmen, two regiments of the 85th Division were assigned to capture Lesser Kinmen. The operation was initially scheduled to commence on 20 October. At this time, the PLA's 10th Army Corps urged the 28th Army to accelerate preparations and called for the concentration of all available vessels to support the crossing. However, the severe shortages in transport ships caused the planned attack to be postponed to 23 October. On 22 October, the acting Director of the Fuzhou Pacification Office, Tang Enbo, issued an order stating that "all units on Kinmen shall be placed under the unified command of Lee Liang-Jung of the 22nd Army Corps until the arrival of Commander Hu Lien of the 12th Army Corps." That evening, the ROC 19th Army arrived off Kinmen, but inefficiencies in landing operations caused only half of the troops to have disembarked by the evening of 24 October. Meanwhile, by 23 October, the PLA's 28th Army had concentrated sufficient vessels to transport three regiments. The 10th Army Corps leadership decided to seize the opportunity before ROC reinforcements could fully arrive, launching an amphibious assault on Kinmen. It was estimated that, with two transport runs, a total of five regiments could be landed within one night, achieving a force parity of approximately 1:1. This led to a decision to commence the attack on 24 October. The PLA operational plan called for the 244th Regiment of the 82nd Division, the 251st Regiment of the 84th Division, and the 253rd Regiment of the 85th Division to form the first wave, under unified command of the 82nd Division. They would depart from Lienho, Greater Tatan, and Aotou's northeastern harbour, respectively, landing along the stretch from Huwei to Kuningtou on northern Kinmen. The goal was to destroy ROC forces in the western half of the island first, before joining subsequent echelons to eliminate defenders in the eastern half. The campaign was intended to be concluded within three days. On 24 October, ROC naval and ground forces stationed off Kinmen successfully deterred PLA advances for a full day. That morning, the PLA convened a combat conference to reaffirm their resolve. Following directives from higher command stressing the need for swift action, the 28th Army's deputy commander, Xiao Feng, ordered the attack to proceed that night. At 20:00, the PLA's first wave — consisting of the 244th, 251st, and 253rd Regiments, and elements of the 246th Regiment from the 82nd Division — set sail as planned, departing from
Lienho,
Greater Tatan, and
Houcun (). The weather was poor, with darkness and a northeast wind of force three to four, while the tide was gradually rising. However, many of the PLA chartered civilian boatmen were hastily recruited from areas such as
Fuzhou and
Quanzhou, and were unfamiliar with local maritime conditions. Moreover, there had been little prior training or coordination, and the 82nd Division's command post did not accompany the landing forces, causing severe communication breakdowns. Each unit thus advanced independently. Strong winds, poor navigational knowledge of tidal patterns, and the lack of coordination resulted in the landing craft becoming stranded in shallow waters as the tide receded. Near the shoreline, they came under heavy ROC artillery fire, causing casualties even before reaching the beaches.
25 October 1949 Battle unfolds At approximately 00:00 on October 25, a forward sentry officer from the 1st Battalion, 601st Regiment of the 201st Division (ROC Army) accidentally detonated a landmine. This incident led defenders stationed on the western peninsula of Kinmen to believe that a PLA assault was imminent. ROC defensive positions were rapidly manned, and searchlights—dubbed the "East-West Scarlet Beams"—were activated. These lights exposed an advancing detachment of the PLA 44th Regiment attempting a surprise landing, triggering immediate exchanges of gunfire. According to reported accounts, an ammunition ship was one of the first hit by ROC tank fire, resulting in a fire that burned neighboring landing craft.
Escalation and PLA landings By 01:30, over 300 wooden PLA landing boats surged forward in a major assault. ROC Tank No. 66's full crew, including platoon Leader Yang Chan (), sergeant Tang Tsai-Kun (), Assistant Driver Tseng Shao-Lin (), gunner Hsiung Chen-Chiu, technician Ou Hsiao-Yün (), and Reservist Yao Pu-Hsiung (), were all actively engaged. At dawn, the PLA renewed its focus on Tank No. 66 and ROC's 602nd Regiment. Assistant Driver Tseng was killed during intense close-quarters fighting while manning an
M1919 .30 calibre machine gun. At 02:10, PLA artillery stationed on Dabo (), Xiaobo (),
Jiaoyu,
Dadeng, and Xiaodeng Islands commenced bombardment of ROC positions across Kuan-Ao (), Hsiyüan (), Kuanyin Pavilion Hill () and Kuningtou. However, the 75 mm
IJA Type 41 mountain guns and captured 105 mm
M101 howitzers of the PLA artillery troops, proved insufficient in range and firepower to provide meaningful support to ground units. PLA troops made landings along a 10-kilometre stretch from Lungkou (), Housha () to Kuningtou. The 244th Regiment came ashore between Lantso () and Lungkou, while the vanguard of the 251st Regiment reached Huwei (). However, subsequent elements of the 251st were struck by artillery, resulting in heavy casualties—approximately one-third of their force. Lacking unified command and operating under a doctrine of aggressive forward movement, PLA units pushed inland without consolidating their positions. According to captured PLA medic Zhao Baohou (), the PLA 244th Regiment suffered significant losses under ROC fire before they could entrench.
ROC counterattack and naval movements At dawn, Commander Liu Tianxiang () of the PLA 251st Regiment reported optimism to Deputy Commander Xiao Feng of the PLA 28th Army, noting that ROC Youth Army units at Kuningtou appeared weak and that numerous prisoners had been taken, some only wearing undergarments. PLA General Ye Fei, based on these reports, believed a PLA victory was imminent. Simultaneously, ROC Navy vessels moved to intercept the PLA landing fleet. Among them were
Minesweeper No. 202, gunboats
ROCS Nan An and
ROCS Huai Yin, and the tank landing ship
ROCS Chung Yung. The latter,
ROCS Chung Yung, originally headed to
Dinghai in
Zhejiang for illicit sugar trade, was reassigned to transport ROC's 19th Army. Delays and poor weather caused
Chung Yung to remain near Kinmen and participate in the engagement by using
Bofors 40 mm and 20 mm autocannons against wooden boats. At 04:30, the ROC 18th Army's 118th Division (less the 352nd Regiment) joined with garrison forces to launch a three-pronged counterattack. The 14th Division, minus the 40th Regiment, advanced from Houpu () under coordinated efforts by Generals Liu Yün-Han () and Shen Hsiang-Kuei (). Mortar units from the 40th Division provided fire support, while reserve tank platoons were held at Chiunglin.
Air superiority and joint operations At 08:00, the ROCAF commenced sustained bombing and strafing operations against PLA forces and abandoned vessels. By dusk, the command staff of the 12th Army Corps had arrived off southern Kinmen aboard the
MV Min Yü (), where General
Hu Lien was waiting ashore. However, unfamiliarity with the coastline and rough seas prevented the staff from disembarking immediately. Of the three PLA regiments that landed on the first day, only one battalion on the western shore failed to reach its intended position. By daybreak, the PLA troops—now fully exposed—came under heavy, coordinated attacks from ROC forces by air, land, and sea. Notably, the ROC Army's 45th Division, which had served as a security unit for the
Chinese Nationalist Air Forces during the Second Sino-Japanese War, was equipped with advanced air liaison systems. Besides the division commander, Lao Sheng-huan (), who had been a theory instructor in forward air control doctrines, many of his subordinate officers had received
Forward Air Controller (FAC) training from the USAAF during the same period. Lao successfully coordinated with 18 ROCAF
P-51 Mustang fighter aircraft based in Taiwan. His FAC team directed the Mustangs to target PLA landing craft, resulting in the destruction of over 100 vessels. This action became a rare but highly effective tri-service operation by ROC forces during the Chinese Civil War.
Collapse of the PLA landing effort As PLA vessels were caught in shallow waters from the low tide, they became easy targets for ROC air and naval forces. No second wave reinforcements ever made it ashore. Regimental Leader Hsing Yung-Sheng () of the PLA 244th Regiment, although gravely wounded, continued to lead his unit until it was nearly annihilated by noon. The PLA 253rd Regiment was pushed back from Kuanyin Pavilion Hill and Huwei Heights, and Regimental leader Liu Tien-Hsiang () of the PLA 251st Regiment fought until 15:00, incurring roughly 1,000 casualties. Some surviving troops regrouped with the PLA 253rd at Kuningtou. A detachment of the PLA 251st Regiment held their ground through seven ROC assaults before retreating. The PLA 253rd Regiment also resisted multiple counterattacks. ROC Army Colonel Lee Kuang-Chien () of the 42nd Regiment, 14th Division, was killed while leading an assault on Lintsu (). Realising the dire situation, the PLA's 10th Corps attempted to send reinforcements but could gather enough transport for only four companies. The ROC's overwhelming control of the air and sea caused additional reinforcements to be deemed impossible.
26 October 1949 At approximately 03:00 on 26 October, an estimated 1,000 troops—comprising four
companies from the PLA 246th Regiment and elements of the PLA 85th Division—attempted a second wave of landings at Huwei and Kuningtou to reinforce embattled PLA units already ashore. However, heavy winds and choppy seas dispersed the landing craft, and only ten platoons successfully made landfall. Their approach was compromised by frequent illumination flare drops from ROCAF
C-47 transport aircraft throughout the night, significantly diminishing the PLA's advantage in stealthy night operations. The reinforcements were detected before reaching the shore and immediately came under ROC fire. Forced into disorganised mobile combat, they fought while withdrawing inland. At dawn, the surviving companies of the PLA 246th Regiment managed to break through ROC encirclement and linked up with PLA troops still holding out in the town of Kuningtou. At 06:30, the ROC 118th Division launched a coordinated counteroffensive from the northern coastline at Putou toward PLA positions around Lintsu and Kuningtou. Urban fighting quickly erupted in the narrow streets and alleyways of Kuningtou, leading to intense house-to-house combat. Despite fierce resistance, ROC troops, supported by
P-47 fighter-bombers and
B-24 heavy bombers of the
ROC Air Force, retook Lintsu by midday and Nanshan () by 15:00. Remaining PLA forces began retreating to the northern coastline but were unable to locate boats and instead attempted to escape into the mountainous southeast. Meanwhile, at 10:00, General
Hu Lien arrived at Shuitou () pier between Greater Kinmen and Lesser Kinmen aboard a tank landing ship. After meeting with senior commanders including Tang Enbo and
Luo Zhuoying, Hu proceeded to the Hunan Heights () to oversee deployment adjustments. Learning the gravity of the situation from General
Kao Kuei-yuan—then leading combat on the front—Hu Lien assumed direct command of the ROC 118th and 25th Armies without delay. He personally coordinated with the commanders of the ROC 54th, 352nd, 353rd, and 354th Regiments, reinvigorating frontline morale. By nightfall, ROC forces had completed an encirclement of Kuningtou Village. The ROC 118th Division's commander, Major General Lee Shu-Lan (), reorganised the assault by assigning the ROC 353rd Regiment to relieve the ROC 352nd Regiment. Supported by Stuart tanks, the ROC forces pushed further into Kuningtou. The battle continued into the night, culminating around 22:00 when PLA remnants attempted a breakout under the cover of darkness. Unable to locate evacuation vessels, they turned inland toward the mountainous terrain to the southeast.
27 October 1949 By the early morning of 27 October, surviving People's Liberation Army forces had exhausted their food and
ammunition supplies. Over 1,300 troops, many of whom had landed the previous day as reinforcements, retreated to the beaches beneath the cliffs north of Kuningtou. At around midnight, they were discovered by Republic of China forces, who launched a concentrated four-hour assault. More than 400 PLA soldiers were killed, and the remaining 900 surrendered en masse by 10:00. Despite the collapse of the main PLA force, additional reinforcements continued to arrive. At 03:00, a motor launch carrying around 30 men from the 3rd Company, 259th Regiment of the PLA, landed on the northern shore, but all were promptly captured. That morning, ROC forces had already secured Kuningtou village, but further PLA units—stranded from the previous night's failed reinforcement attempt—were found hiding along the northern coast and also surrendered after being ordered to lay down arms. At 09:30, Major General Lee Shu-Lan reported the complete success directly to General Hu Lien. Later that day, the ROC Southeast Military and Political Director
Chen Cheng arrived at Kinmen by air, conducted an inspection of Kinmen and visited the front lines. While returning, his convoy encountered over 100 PLA troops who emerged from trenches and surrendered in orderly fashion. By the afternoon, remaining PLA units near Shuangju Hill () were surrounded and forced to surrender. This engagement, occurring at approximately 16:00, marked the end of major combat operations on Kinmen.
28 October 1949 The battle officially concluded on 28 October as remaining PLA forces, having exhausted all resources, surrendered or were captured. Regimental leader Sun Yü-Hsiu () of the PLA 246th Regiment was wounded and committed suicide. Sporadic fighting continued briefly, but resistance had effectively ended. Regimental leader Hsu Po () of the PLA 253rd Regiment, who had fled into the mountainous interior of Kinmen following the collapse of organised resistance, remained at large for over 100 days. He was eventually discovered and captured in February 1950, after surviving in a cave near Mount Taiwu () by foraging for food. Hsu Po is believed to have been the last PLA combatant captured during the Battle of Kinmen. Following his capture, he was detained at the Neihu Concentration Facility () in Taipei. According to PRC accounts, Hsu Po was executed by ROC authorities, although more recent historical interpretations suggest he may have died during a
hunger strike. == Aftermath ==