The Syrian army and allied forces on Saturday recaptured from Islamic State (IS) the town of al-Qaryatayn in central Homs province, where the militants have lost vast areas of territory in recent months, state media said.

Syrian troops regained control of the town "after eliminating terrorist Daesh groups that had infiltrated it," state TV said, using the Arabic acronym for Islamic State.

Earlier this month, the UK-based Syrian Observatory for Human Rights said IS fighters had seized the town from government forces, part of a counter-attack by the group, which has come under intense pressure in eastern Syria.

The Observatory said on Saturday that some militants had surrendered and others had withdrawn from the town after heavy fighting. The only IS presence in Homs was in a patch of desert in the east of the province, the war monitor said.

The town of al-Qaryatayn lies some 100km from the ancient city of Palmyra, and nearly 300km from Deir Ezzor city, the current focus of the Syrian government's offensive against IS.

Al-Qaryatayn was a symbol of religious coexistence before the civil war broke out in 2011, with about 900 Christians among its population of 30,000. During their first eight-month-long occupation of the town in 2015-16, the Sunni Muslim IS repeatedly targeted its Christian minority.

IS abducted 270 Christians, transporting them around 90km into the desert and locking them up in a dungeon. They were freed 25 days later.

With the help of Russian jets and Iran-backed militias, the Syrian army has taken large tracts of land from IS in central Syria, including in Homs province. After months of steady gains across the central desert, the army and its allies marched eastwards into Deir Ezzor.

IS fighters have now been forced into their last strongholds in the east of Syria. In a serious blow to the group, the US-backed Syrian Democratic Forces (SDF) announced the capture of Raqqa, Islamic State's de facto capital, on Tuesday.