Violent clashes have broken out between police and nationalist protesters outside the Ukrainian parliament after a controversial vote to give greater powers to separatist regions in the east.

One police officer died and about 100 were injured, nine of them seriously, the interior ministry said.

At least some of the officers were injured when an object thrown from the crowd of protesters exploded.

No injuries were immediately reported among the 100 protesters, most of them members of Svoboda, a nationalist party that holds only a handful of seats in parliament.

The decentralisation of power was a condition of a truce signed in February aimed at ending the fighting between Ukrainian government troops and Russia-backed separatists that has left more than 6,800 dead. But some Ukrainians oppose changing the constitution, saying that it would threaten the country's sovereignty and independence.

A total of 265 deputies in the 450-seat parliament gave preliminary approval to the changes proposed by Ukrainian President Petro Poroshenko. Three parties that are part of the majority coalition in parliament, however, opposed the constitutional changes.

"This is not a road to peace and not a road to decentralisation," said the leader of one of those parties, former Prime Minister Yulia Tymoshenko. "This is the diametrically opposite process, which will lead to the loss of new territories."

Parliament speaker Vladimir Groisman denied the changes would lead to the loss of the Donetsk region, where there have been clashes with separatists. "There is no hint of federalism. Ukraine was, is and will be a unified state," Mr Groisman said.

A final vote on the constitutional changes is to be held during parliament's fall session, which begins tomorrow.