"Daesh has chased Al-Nusra, its former ally in the Yarmuk camp, from 90 percent of the territory it controlled," the Palestine Liberation Organisation chief in Damascus, Anwar Abdel Hadi, said, using an Arabic acronym for IS.
Fighting between IS and Al-Nusra over the past two weeks in the camp has also killed five civilians and wounded 20. Abdel Hadi said he did not have a toll for casualties among the fighters.
Once a thriving district that was home to some 160,000 Syrians and Palestinians, Yarmuk has been devastated since late 2012.
The Syrian army imposed a tight siege on the camp that reportedly led to deaths because of shortages of food and medicines.
Signup to our newsletter and follow us on Facebook and Twitter!
Al-Nusra and IS had together controlled 70 percent of Yarmuk since April 2015, according to the PLO official.
Palestinian factions and pro-government forces -- who control the rest of the camp -- did not take part in the latest fighting.
The Palestinian official said some 6,000 civilians remain in Yarmuk alongside around 3,000 IS fighters there and in the nearby Hajar al-Aswad neighbourhood. Al-Nusra has around 300.
Chris Gunness, spokesman for the UN aid agency for Palestinians, said on Thursday ending the fighting and humanitarian access to Yarmuk was needed urgently.
"Residents in Yarmuk remained trapped, humanitarian conditions are dire," he said.
"UNRWA remains concerned about reports on the lack of access to fresh water."