Nearly a million people in 100 Brazilian cities have taken to the streets to protest against rising transportation charges and corruption surrounding the 2014 World Cup.
Skirmishes have been reported in many parts of the county. An 18-year-old was killed in Sao Paolo when a car rammed a crowd of demonstrators and local media reported that scores of people had been injured in protests across the country.
Despite government efforts to quell the protests, rallies have been increasing over the last week, and the uprising is now among the biggest in the country's history.
Although the transport fare hikes have now been rolled back in Sao Paulo and Rio de Janerio, the u-turn came too late to quell the anti-govenment protests.
In Rio de Janerio, nearly 300,000 people took to the streets. Police fired tear gas to disperse a small group of protesters who hurled stones at the security forces. Federal forces have been deployed in five cities to deal with unrest.
Around 110,000 protesters marched in the country's largest city, Sao Paulo, where the initial demonstrations kick-started the wave of protests.
In the capital Brasilia, security forces cordoned off the foreign ministry building when the enraged protesters attempted to set it ablaze.
Protesters held placards with slogans saying "enough, it's time to speak," "Brazil is waking up," and "Brazil, country of corruption."
President Dilma Rousseff, who had cancelled her trip to Japan over the unrest, called for an emergency cabinet meeting to deal with the spiralling crisis.
"She has ultimately decided to postpone this trip, which would have involved several days of travel. She has decided to stay in Brazil due to current events," a government source told AFP.
Rousseff had earlier acknowledged the legitimacy of the protests against her administration, saying protesters had "sent a clear message to all of society, above all to political leaders of all levels of government."