Senator Antonio Trillanes was arrested on charges of rebellion outside of the Senate building in the Philippine capital Manila hours after a warrant for his capture was issued by a court.
The arrest followed a revocation by Duterte last month of a 2010 amnesty granted to Trillanes for his role in two coup attempts in the mid-2000s.
The senator has been fiercely critical of Duterte’s drug war which has killed thousands of people and has accused Duterte of hiding wealth.
“Democracy died today,” Philippine news site Rappler quoted Trillanes as saying shortly before his arrest.
“This case goes beyond me … This is clearly Mr Duterte silencing his political critics, those who tell the truth.”
Presidential spokesman Harry Roque said Duterte would respect the decision of the judiciary.
“The court has spoken,” he said in a statement. “Let us stop the drama by press conference and allow the legal process to take its course.”
Trillanes is the second senator arrested after voicing criticism of Duterte’s drug war. Leila de Lima has been behind bars since February 2017 on charges she says were concocted in order to silence her.
“This arrest … is part of the persecution of critics of the Duterte administration, the latest in the relentless campaign to silence those who dared to challenge the president’s murderous ‘drug war’,” Carlos Conde of Human Rights Watch Philippines told AFP news agency.
Trillanes posted bail of 200,000 pesos ($3,770).