Police said four grenades ripped through the crowd of 150-200 demonstrators outside the Cambodian National Assembly, during a protest against the judiciary.
Sam Rainsy, leader of the officially unrecognised Khmer Nation Party (KNP), narrowly escaped injury in the attack and accused the co-Prime Minister, Hun Sen, of being behind it.
But a spokesman for Mr Hun Sen condemned the attack, saying it was the work of terrorists, and he demanded an immediate investigation.
Mr Sam Rainsy's wife, Tioulong Saumura, put the death toll at 15 and said 120 people had been wounded. Doctors at three big hospitals said eight people had been brought in dead or had died after arrival and more than 100 were injured.
Mr Sam Rainsy, in a blood-smeared shirt and jacket, said his bodyguard, Han Mony, and a KNP steering committee member, Chhet Daravuth, were among the dead. He added that journalists had taken much of the blast as they stood between him and the grenades.
An eyewitness said the grenades were thrown from a car that sped past the demonstration, but Mr Sam Rainsy said at least one had been thrown from the national assembly compound and another by someone in the crowd.
Onlookers stood outside police lines at the park in front of the parliament, where shoes and clothing, broken glass and protest placards lay in the grass.
Mr Sam Rainsy said the attack, the first against an opposition demonstration since the KNP first began protests last year, was aimed at him.
He said: "These attacks were aimed to kill people. I was leading the demonstration, so I presume if there was any attack to kill people, they would aim at the leader first."Reuse content