The Syrian army says it has recaptured the strategic town of Maarat al-Numan in Idlib province, the opposition’s last stronghold.
State media reported that troops had “liberated” the town after inflicting heavy losses on jihadist fighters.
A monitoring group earlier said the opposition had withdrawn.
Maarat al-Numan straddles a major highway that has been an objective for the army as it has pressed ahead with an offensive in Idlib in recent weeks.
Hundreds of thousands of civilians, the vast majority of them women and children, have fled the fighting and moved towards the border with Turkey, where they are struggling to cope in camps and makeshift shelters.
Syria’s army says it took control of Maarat al-Numan after heavy clashes with fighters from a jihadist alliance known as Hayat Tahrir al-Sham that dominates opposition-held Idlib. The jihadists eventually withdrew to the north, towards Saraqeb and Ariha, it added.
A reporter for the Sana state-run news agency said troops were patrolling neighbourhoods on Wednesday morning, dismantling mines and booby-trapped vehicles, and clearing tunnels.
The Syrian Observatory for Human Rights, a UK-based monitoring group, reported that opposition forces had withdrawn from Maarat al-Numan on Tuesday and that since Friday pro-government forces had seized 25 other villages and towns with the support of Russian airpower.
At least 147 pro-government fighters and 151 opposition fighters had been killed in that time, it said.
The UN said on Tuesday that at least 1,506 civilians had been killed in violence since the end of April when there was an upsurge in fighting in Idlib and surrounding areas of Aleppo and Hama provinces.
The region is home to some three million people, 76% of whom are women and children.
At least 358,000 people have fled their homes since violence escalated at the start of December.
The UN warned that the latest influx of displaced people had added to a dire humanitarian situation. More than 400,000 people were displaced between the end of April and the end of August.
Conditions on the ground have been further exacerbated by extreme winter weather, including flooding and freezing temperatures, and rising fuel prices.
There is also a shortage of medical supplies and functioning medical facilities. At least 50 health facilities have been attacked in Idlib in the past year.
Source: BBC