The Syrian Observatory for Human Rights monitoring group however said fighting was still raging in the east and southeast of the town, which is located in the desert in Homs province.
"The army with backing from supporting forces (pro-regime militia) brings back complete security and stability to the town of Al-Qaryatain, after crushing Daesh terrorists' last remaining positions there," state television said, using an Arabic acronym for IS.
Russia must stop bombing women, children in Syria: Kerry
But the Britain-based Observatory said the army was still fighting the jihadists in about half the town.
"Clashes are still ongoing in the east and southeast of the town," it said.
The advance came after the Russian-backed Syrian army dealt IS a major blow on March 27 by seizing the ancient city of Palmyra, known as the "Pearl of the desert", from the jihadists.
Al-Qaryatain is located some 120 kilometres (75 miles) southwest of Palmyra.
Its recapture will allow the army to secure its grip over the ancient city, where jihadists destroyed ancient temples and executed 280 people during their 10-month rule.
Lebanon police rescue 75 mainly Syrian sex slaves
Once Al-Qaryatain returns to government control, "of the whole of Homs province, IS will only hold its bastion in Sukhna" northeast of Palmyra, Observatory chief Rami Abdel Rahman said.
"The recapture of Al-Qaryatain will also allow the army to reclaim the whole of the Syrian desert" spreading all the way south to the Iraqi border, Abdel Rahman added.
A ceasefire brokered by the United States and Russia but which does not apply to the fight against jihadists has enabled the Syrian army to focus on efforts to crush IS.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ