Clashes between nationalists and riot police erupted after members of parliament gave initial backing to reforms for more autonomy in the rebel-held east.
National guardsmen were pelted with fire crackers and petrol bombs as explosions were heard.
The reforms are part of a peace plan to end fighting in eastern Ukraine.
Protesters led by the populist Radical Party and the ultra-nationalist Svoboda (Freedom) party – who fear the loss of the east to Russian-backed separatists – gathered outside parliament on August 31.
After a rowdy debate, 265 members of parliament out of 450 backed the first reading of the decentralization bill, granting more powers to areas of Donetsk and Luhansk.
The Ukrainian Interior Minister, Arsen Avakov, said some 30 people have been detained, including a Svoboda member who confessed to throwing a grenade.
He bitterly criticized Svoboda leader Oleh Tyahnybok, writing on Facebook that several explosive devices had been thrown by people wearing Svoboda T-shirts.
A policeman’s leg was torn off below the knee in the blast, Interfax Ukraine reported, while journalists at the scene were also reported injured.
Almost 7,000 people have died since the conflict in eastern Ukraine broke out in March 2014, after Russia’s annexation of the Ukrainian peninsula of Crimea.
Pushing through greater autonomy for the rebel-held areas is a key part of the Minsk peace deal, originally signed in February.
During the summer, fighting between Ukrainian army forces and the rebels has escalated. But the two sides agreed last week to halt the violence on September 1, the day children in the region return to school.
Although the number of ceasefire violations appears to have fallen in recent days, OSCE monitors have warned that neither side was respecting the truce.
Under the draft constitutional changes going through parliament, there will be a special law covering local government in rebel-held areas.
However, parliament speaker Volodymyr Hroysman was adamant that would not mean special status for Donetsk and Luhansk, which rebel leaders have declared republics.
If President Petro Poroshenko is to succeed in pushing through the reforms, he will need the support of 300 members of parliament, seen as a tall order for the Ukrainian leader.
Petro Poroshenko is due to address the nation on the proposals and the violence outside parliament on August 31.
The US House Ethics Committee has voted to release its report on former Republican Representative…
ABC News has agreed to pay $15 million to President-elect Donald Trump to settle a…
South Korea’s parliament has voted to impeach President Yoon Suk Yeol over his failed attempt…
Israeli war planes have carried out more than 100 air strikes in Syria on December…
President-elect Donald Trump has threatened to impose 100% tariffs on the BRICS countries if they…
Syrian troops have withdrawn from the city of Aleppo following an offensive by rebels opposed…