The President appealed for calm after more than 100 MPs, ministers and staff were forced to spend the night in parliament as demonstrators blocked the exits and held off police by throwing stones.
It was the first outbreak of violence in more than 40 days of anti-government protests.
Thousands of Bulgarians angry at what they say is entrenched state corruption and nepotism have been gathering in Sofia each day, and up until this week there had been a peaceful atmosphere.
But on Tuesday night, several hundred protesters formed a human chain outside the parliament building, trapping those inside. Attempts by police to bring in a bus to rescue them failed when protesters pelted it with stones. Both police and demonstrators were injured in the scuffles.
Riot police finally managed to breach the protesters’ blockade of paving stones and rubbish bins at about 3am, eight hours after the siege began. Parliament remained closed and under heavy police guard, and President Rosen Plevneliev called on protesters to remain “peaceful and civilized”.