The eastern port of Mullaittivu is one of the final targets of a military onslaught to end a 25-year war with the Liberation Tigers of Tamil Eelam (LTTE) rebels. The army had not set foot inside it since the Tigers seized it in 1996.
"After one month's fight we have totally liberated Mullaittivu town," Lieutenant-General Sarath Fonseka said in an address on state television. "We will be able to finish this war soon."
Fonseka said the LTTE-held area is down to 300 square km (186 square miles), cut from 15,000 square km (5,792 sq miles) when the war re-ignited in 2006.
The capture leaves the LTTE confined to a wedge of jungle in the northeast of the Indian Ocean island, with its remaining defences and bases scattered in a handful of villages.
The 59th Division has been battling up the eastern coast toward Mullaittivu for a year and a month ago reached the edge of the fortified town, which served as a major LTTE operations base.
"We have destroyed large-scale earthen defences and trenches. We have complete control of Mullaittivu and have destroyed the terrorists," Fonseka said.
The army has racked up a string of victories this month, including capturing the rebels' self-proclaimed capital of Kilinochchi and expelling them from the Jaffna Peninsula.
Aid agencies say about 230,000 civilians fleeing the fighting are trapped in the war zone. Rights groups and the government accuse the LTTE of keeping them as human shields.
At least 100 civilians were killed in artillery exchanges last week, according to a top government official working in the Tiger-controlled area.
The army set up a 32-square-km safe area inside the war zone, but said the LTTE had moved its artillery and heavy weapons inside it.
The LTTE, on US, EU, and Indian terrorist lists after years of suicide bombings and assassinations of politicians and rival Tamil figures, could not be reached for comment.
On Saturday, the military said the Tigers had blown up a dam to flood land and slow a rapid army advance. Soldiers also found two facilities for making bombs and landmines, with 4,000 detonators and 150 kg (330 lb) of explosives.
It is difficult to get a clear picture from the war zone, since both sides block independent media from entering it.
The LTTE seized Mullaittivu, a strategic harbour, in 1996 in a massive attack that killed more than 1,000 soldiers. Navy boats have already cordoned off the sea around it, but it had been the last remaining route for the LTTE to bring in weapons.
The LTTE began fighting in earnest in 1983 and say they are the sole representatives of the Tamil minority, which complains of mistreatment by successive governments led by the Sinhalese ethnic majority since independence from Britain in 1948.