Rebel groups Jaish al-Islam and Faylaq al-Rahman have fought each other repeatedly on the outskirts of Syria's capital since April
Syrian government troops, backed by Hezbollah fighters, on Thursday retook a key town near Damascus and also surrounded nine neighbouring villages, a monitor said.
Pro-government fighters used clashes between rival rebel factions Jaish al-Islam and Faylaq al-Rahman as an opportunity to retake the town of Deir al-Assafir, the Syrian Observatory for Human Rights said.
As rebels summoned their fighters from Deir al-Assafir to the frontline, government forces launched "a violent attack and heavy air campaign resulting in them controlling the town" in the opposition bastion of Eastern Ghouta, the observatory's head said.
They were then able to "advance rapidly in the south of Eastern Ghouta after rebel fighters retreated after losing Deir al-Assafir, fearing they would be besieged," Rami Abdel Rahman said.
Hundreds of families fled the area which rebels had controlled since 2012.
In April, fighting broke out between Jaish al-Islam and Faylaq al-Rahman and a second rebel group, Jaish al-Fustat, both of which are allied to the Nusra Front, Syria's al-Qaeda affiliate.
Jaish al-Islam has accused the other groups of trying to wipe them out.
“Faylaq a-Rahman and Jaish al-Fustat want to eliminate Jaish al-Islam,” a Jaish al-Islam member told the Syria Direct website on Thursday. “They want to increase their influence and control on the ground in [Eastern] Ghouta and blockade [Jaish al-Islam] in Douma alone.”
“We reject this infighting, but our hand’s been forced," he was quoted as saying.
Residents of Eastern Ghouta have frequently demonstrated against the clashes calling for unity among the groups in fighting Assad's forces:
A spokesperson from rebel group Ahrar al-Sham - who have denied any involvement in the fighting against Jaish al-Islam - described the rebel clashes as “unfortunate” in April.
“We call on our brothers on both sides to immediately stop the fighting,” tweeted the group’s second-in-command, Khaled Abu Anas. “Let nobody think that they’re winning because all of Damascus is losing.”
The government had been trying to retake Deir al-Assafir since February, the Observatory's Abdel Rahman said, despite Eastern Ghouta being included in a fragile nationwide ceasefire between the army and most rebels.
The latest advance with Hezbollah's support comes just days after the Iran-backed movement said its top military commander, Mustafa Badreddine, was killed in an explosion near the Damascus International Airport which it blamed on "takfiri" rebels.
The movement has deployed thousands of fighters in Syria, where Badreddine had led its intervention in support of President Bashar al-Assad.
Southwest of Damascus, the Syrian army and its allies pushed to take control of a main highway running from the capital to southwestern Syria, including Quneitra province and the Golan Heights.
The government has launched air strikes against the town of Khan al-Shih, attempting to secure control of the highway, though they have claimed that rebels attacked the area first.
Meanwhile, at least 21 civilians, including seven children, were killed on Thursday in government air strikes that targeted several towns in central Syria, a monitoring group said.
Fourteen civilians - four of them children - were killed when a barrage of barrel bombs hit the town of al-Houla and neighbouring villages, according to the Syrian Observatory for Human Rights.
Fighting also continued in western Syria, including in Aleppo and Latakia provinces, while the Islamic State militant group is engaged in battles against government and Kurdish forces in the country's east.
The bloodshed has continued despite international attempts to revive a wider ceasefire and restart faltering peace talks on the conflict that has killed more than 270,000 people since March 2011.