About 1.5 million protesters hit the streets across Brazil on Sunday in a major show of anger against leftist President Dilma Rousseff, who faces crises from a faltering economy to a massive corruption scandal at state oil giant Petrobras.
Many called for the impeachment of Rousseff, less than six months after she was narrowly returned to power in the most bitterly fought presidential race since the end of a military dictatorship in 1985.
The biggest demonstration took place in Sao Paulo, where a million people rallied -- according to police estimates -- many in the distinctive yellow and green of Brazil's national football team. The city -- South America's biggest, and Brazil's business and industrial hub -- is a stronghold of opposition to Rousseff.
Peaceful demonstrations also took place in 83 cities and towns around the country, including major protests in the capital Brasilia and in Rio de Janeiro.
The numbers matched the vast rallies that roiled Brazil in June 2013, when protesters angry at the cost of hosting the 2014 World Cup demanded an end to corruption and more spending on transportation, health and education.
"We are thousands and thousands of people who demand the impeachment of Dilma Rousseff," Rubens Nunes, 26, told AFP in Sao Paulo, where the massive crowd stretched along four kilometers (2.5 miles) of Avenida Paulista, a major thoroughfare.
The protests are significantly larger than those convened on Friday in support of Rousseff and Petrobras by unions and social movements related to her ruling Workers' Party (PT).
In the capital Brasilia alone, between 45,000 and 50,000 people marched Sunday towards the Congress, according to police estimates.
The government was keen to appear to be listening and towards the end of the day Justice Minister Jose Eduardo Cardozo and Miguel Rossetto, presidential chief of staff, gave a press conference saying immediate steps would be taken to fight graft and impunity.
"The demonstrations against the government are legitimate. What is not legitimate is the coup, violence and unfounded 'impeachment' that is damaging democracy," said Rossetto.
In Rio de Janeiro, people waved Brazilian flags along the coastal Copacabana avenue behind a truck blaring slogans against Rousseff.
"Get out Dilma; get out PT!" people chanted. A few protesters among the 15,000 packed there even called for military intervention to end the PT's 12 years in power.
Rita Souza, a 50-year-old television producer, carried a banner reading: "Military intervention now."
"I'm not asking for a coup, but a constitutional intervention to call new fair elections," Souza told AFP. "They can all go to Cuba!"
Construction contractor Alessandro Braga, 37, attended the rally in Brasilia with his wife and son.
"I support the departure of Dilma," he said. "The biggest corruption scandals occurred during her administration and she said nothing."
The marches were supported by the opposition Social Democracy Party, whose president Aecio Neves -- who lost the election runoff to Rousseff -- said in video on Facebook that "the road is just beginning."
"We will not disperse," he said.
Dozens of political figures, including close allies of Rousseff, and former Petrobras executives are under investigation over a kickback and money laundering scheme that saw an estimated $3.8 billion creamed off inflated contracts over a decade.
No one has been convicted yet, but some of the alleged wrongdoing took place while Rousseff was chairman of the Petrobras board.
Twenty-two deputies, 13 senators and two governors have been implicated in the bribe-taking allegations. Rousseff is not being investigated.
In addition to the corruption scandal at Petrobras, Rousseff is also facing rising inflation and a Brazilian economy that is on the brink of recession.