More than a million people took to the streets in cities throughout Brazil to protest against President Dilma Rousseff and the corruption plaguing oil major Petrobras and other state organisations, Efe news agency reported.
The events on Sunday were organised by opposition groups with no direct links to political parties.
According to police estimates, the largest protest took place in Sao Paulo, where close to a million people marched.
Crowds gathered in dozens of other cities including Brasilia, Rio de Janeiro, Belo Horizonte, Fortaleza and Porto Alegre to express middle class discontent with the government.
Most protesters dressed in yellow and green, the colours of the Brazilian flag.
Also Read
In Brasilia, some 50,000 people marched peacefully towards the Congress building, cordoned off by police to prevent a repeat of 2013 when protesters scaled the building's domes.
The main opposition political leaders, who did not participate in the protests, had expressed support for them in the days preceding.
Former presidential candidate Aecio Neves used the internet to urge Brazilians to continue protesting.
This support, coming amidst calls from the opposition to indict Rousseff, has been viewed by the government with suspicion and misgiving.
The common cause of the protests is indignation with corruption, especially the Petrobras case for which demonstrators hold Rousseff's Workers Party, in power since 2003, largely responsible.
The scandal surrounding Petrobras, under police investigation for a year, has gained momentum in recent weeks with new cases opened against almost 50 politicians, mostly from the ruling party, alleged to have siphoned bribes worth billions of dollars from the state-owned oil company.
This case, economic deterioration, and rising inflation, have eroded Rousseff's popularity in the latest polls, down by around 20 percent since winning the election just five months ago.
Although most protest organizers proposed "democratic" processes for Rousseff's removal from office, small groups in Rio de Janeiro and Sao Paulo called for military intervention to oust Rousseff.
The government asserted that extremists were still a small minority and that the majority of Brazilians clearly backed democracy.
Justice Minister Jose Eduardo Cardozo said that the nature of most protests showed that Brazil was still far from any diversion from democratic process.
The protests were generally peaceful, and police moved quickly to quell scattered incidents.
In Sao Paulo, police arrested more than 20 young people carrying pyrotechnics, pepper spray and other weapons, while in Rio de Janeiro a group assaulted a Rousseff supporter.
The Workers Party headquarters in Jundiai in São Paulo state suffered damage from a Molotov cocktail launched during the protest.