Duterte, a self-described socialist who had previously freed top communist leaders to jump-start the peace talks, angrily condemned the insurgents for resuming hostilities, saying he was ready for a prolonged conflict.
"I told the soldiers to prepare for a long war. I said (peace) will not come during our generation," he said late Saturday.
The two sides separately declared ceasefires in August, and the informal arrangement largely held as they continued discussions in Rome.
The president said he was now ordering government negotiators to "fold their tents and return home from overseas talks with the rebel leaders.
"I am not interested in talking to them (the rebel leaders). I will refuse to talk about it anymore," he told reporters.
"We have been fighting for 50 years. If you want to extend it for another 50 years, so be it, we will be happy to accommodate you."
His order came after the rebels announced an end to their five-month-old ceasefire last week, accusing Duterte's government of treachery and human rights abuses.
The government responded by calling off its own unilateral ceasefire with the rebels.
Duterte also denounced the 4,000-strong communist New People's Army for killing four soldiers in attacks last week, saying one of the victims had been riddled with 76 bullets.
The communist insurgency in the poverty-stricken country, that began in 1968, is one of the longest running in the world and has claimed an estimated 30,000 lives, according to the military.