More than 2,000 people gathered outside Romania's government offices in Bucharest on May 3 to protest a move by lawmakers to pardon acts of corruption.
Demonstrators waved Romanian, EU, NATO, and U.S. flags, chanting, "Resign," "This can't go on anymore," and "We have to defend the country from thieves!"
As numbers grew, the crowd blocked Victory Square, where the government offices are.
Hundreds more protested in the cities of Constanta, Cluj, Sibiu, and Brasov.
The protests broke out shortly after a parliamentary legal committee approved a draft law that would grant amnesty to people convicted of influence peddling and of offering and receiving bribes. The move is a preliminary step before a full parliamentary vote.
Lawmakers from the ruling Social Democratic Party (PSD) dominate the committee. Prime Minister Sorin Grindeanu, a Social Democrat, said he did not support the proposed amendments to the amnesty law.
President Klaus Iohannis, who, by law, is not a member of any party, but was elected on an opposition Liberal Party ticket in 2014, said he was "unpleasantly surprised" by the vote.
Hundreds of thousands protested for weeks across Romania this winter after the new PSD-led government rushed through an emergency decree in January to decriminalize official misconduct.
Under public and international pressure, the government eventually scrapped the decree, but the PSD-controlled parliament kept reintroducing legislative amendments to water down anticorruption legislation.
Romania is an EU and NATO member.