Presidential hopeful Ciro Gomes took part in the protest in Rio de Janeiro and was also expected at the demonstration in São Paulo, according to local media.
Former President Luiz Inácio Lula da Silva, whom polls show ahead of Bolsonaro in a simulated 2022 matchup, did not attend the protests.
In addition to criticizing right-wing Bolsonaro and his handling of the COVID-19 pandemic, demonstrators also protested inflation and high fuel prices.
In Rio de Janeiro, the protest brought together hundreds of people, with the support of trade unions and left-wing parties. One group brought a huge inflatable gas canister bearing the inscription: “Is it expensive? It’s Bolsonaro’s fault.”
Saturday’s demonstrations were a response to a rally of Bolsonaro supporters on Sept. 7. Protesters also gathered in the central region’s capital of São Paulo and in northern state capitals such as Recife and Belém.
The protests against the president brought together center-left parties, trade unions and social movements, marking an attempt by the opposition to show unity.
According to the organizers, the demonstrations took place in more than 200 cities across the country.