A Pakistani army spokesman says it could take another week to 10 days to remove the Taliban from Mingora, the main city in the Swat valley.
Maj Gen Athar Abbas told the BBC that troops were engaged in street battles and clearing the city house by house.
He said the army now controlled a corridor from a suburb to the city centre and had captured three of Mingora's five main crossroads.
The fighting began after a peace deal broke down earlier this month.
Hundreds have died and more than a million have fled Swat since the operation against the Taliban was launched.
Although the army has troops based inside Mingora, the Taliban has effectively been in control of the city.
Maj Gen Abbas said that in the current operation, which began on Saturday, advancing troops had linked up with government forces inside the city.
He said that five militants had been killed and 14 arrested in Mingora on Sunday.
He added that soldiers were having to search buildings one at a time.
He also said that the operation could be "painfully slow", as up to 20,000 civilians were still trapped there and the army wanted to avoid civilian casualties.
"Hopefully it will not be more than a week or ten days," he said.
"We have to clear each and every house, we have to search the streets, all those buildings which are not occupied we have to ensure that no explosives or booby-traps are there. It will take some time."
Journalists are not allowed near the city so it is not possible to verify the army's claims.
But the success of Pakistan's military operation in the region hinges on a swift victory in Mingora, says the BBC's Shoaib Hasan in Islamabad.
This fresh assault on the Taliban has the full backing of the US, which has identified Pakistan and Afghanistan as central to the international battle against Islamist extremism.
Scene of beheadings
Although the military has always had bases in Mingora, the city has effectively been under Taliban control in recent weeks.
One of the intersections the army says it has regained control over is Green Square where the Taliban is thought to have carried out several beheadings.
A citizen in Mingora confirmed this, but told the BBC that fighting was continuing in four nearby villages: Takhtaband, Garozai, Nawakalay and Shahdara.
There was no comment from the Taliban on the latest fighting in Mingora.
The army also said it had made progress in other parts of the Swat valley, with the city of Matta reportedly cleared of militants.
Most people in Pakistan support the military offensive in Swat
A curfew remains in place in Matta, and there are already reports of many civilian casualties, but these cannot be independently confirmed.
Our correspondent says the Swat battle is the most important yet in the army's offensive against the Taliban in north-west Pakistan.
A swift victory would bolster public support for a greater fight against the militants, our correspondent adds.
But anything other than complete victory could diminish public support for the campaign and prove disastrous for Pakistan's fragile political coalition, he adds .
Nearly 1.5 million people have been displaced by this month's fighting in the north-western region, and about two million since last August, the UN's refugee agency says.
In separate developments over the weekend:
Pakistani aircraft have bombed Taliban militants near Orakzai tribal area, killing at least seven people. The militants are thought to have been preparing to travel to South Waziristan on the Afghan border.
Police say a French tourist has been kidnapped by gunmen in the southern Baluchistan province. Four other French nationals travelling with the tourist reported the kidnapping.
Pakistan's army began an offensive against the Taliban on 2 May after the peace deal broke down and the militants began expanding their area of influence.
In Swat, the army says that about 15,000 members of the security forces are fighting between 4,000 and 5,000 militants.
It says more than 1,000 militants and more than 50 soldiers have been killed since the offensive began.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.