Syrian troops on Friday reclaimed a cluster of towns they had lost early in the eight-year-old war, pressing their offensive in the northwest, the country's last big rebel stronghold.
The army drove out the last rebel fighters from the Hama countryside - the latest in a string of crushing blows across Syria - and advanced on a Turkish military post there.
Government forces have pounded the south of Idlib province and nearby Hama from the air and the ground this week, prompting a new civilian exodus. Hundreds of people have been killed in the campaign since late April, the United Nations says.
Rebel officials did not respond to requests for comment.
President Bashar al-Assad turned towards Idlib after shoring up his rule in most of Syria with Russian and Iranian help.
Still, the prospect of more advances in parts of Syria that remain outside his control is obstructed: in the northwest by Turkey's interests near its border, and in the northeast by the presence of U.S. forces alongside Kurdish fighters.
Ankara backs rebel forces that control swathes of territory north of Idlib under its sphere of influence, and some that have a presence in Idlib.
Turkish President Tayyip Erdogan told his Russian counterpart Vladimir Putin on Friday that Syrian army attacks were causing a humanitarian crisis and threatening Turkey's national security.
In a phone call, Erdogan said the attacks violated a ceasefire in Idlib and damaged efforts for a solution in Syria, the Turkish presidency said.
The latest army gains have put Turkish troops in Idlib in the firing line and threaten Ankara's hopes of preventing a new wave of refugees on its border.
Many of the 500,000 people uprooted by the latest fighting in the northwest have fled towards the Turkish border.
Under its deals with Moscow and Tehran, Ankara has forces at a dozen military posts in the Idlib region, including one in the town of Morek, which the Syrian army pushed into on Friday.
Turkish Foreign Minister Mevlut Cavusoglu said the forces were not trapped.
"We are discussing this issue with Russia and Iran," he told a news conference in Beirut. "We are there not because we cannot get out, but because we do not want to get out."
A series of Russian-Turkish negotiations, including a truce deal brokered last year to set up a "demilitarised" buffer zone, have failed to end fighting in Idlib.
The Syrian army said on Friday that it had seized control of a handful of towns and their environs in south Idlib and northern Hama, including Khan Sheikhoun, Kfar Zita and Morek.
"After heavy strikes in recent days and a full siege ... our brave soldiers managed to cleanse the towns and villages," its statement said. "The advance is still continuing at a high pace."
The latest push expands state control of a highway that stretches from the capital Damascus to the city of Aleppo, state TV said.
A live broadcast from Kfar Zita, which insurgents had controlled since 2012, showed deserted streets lined with buildings pockmarked by shellfire.
Moscow and Damascus say they are responding to militant attacks by the former Nusra Front, a jihadist alliance now known as Hayat Tahrir al-Sham that is the dominant force in Idlib.
Related Story