"I decided that I will veto the law on the Supreme Court and the law on the National Council of the Judiciary as one that is related to it," Duda said in a televised address.
Duda stressed he had not known details of the draft law until the lower house of the country's parliament, Sejm, started to consider it.
"The changes should take place in a way that they do not divide the society and the state," the Polish leader said, adding that he held consultations with lawyers, judges and politicians after the Sejm and the Senate had approved the law on the Supreme Court.
The bill on judicial overhaul that will remove Supreme Court judges was approved by the Polish Senate on Saturday.
Poland has been facing mass protests amid the judicial reform and the participants of the protests demand from the president to veto all three laws.