Oil workers are striking over pension reforms that will raise the minimum retirement age and workers' contributions.
A nationwide strike disrupted public transport in Brazil on Friday as protests were held across the country against President Jair Bolsonaro's pension reform, hours ahead of the Copa America opener.
The latest demonstration against Bolsonaro since he took office in January comes as Brazil prepares to play Bolivia in South America's showcase football tournament.
Some metro lines in Sao Paulo were paralysed ahead of the game at the city's Morumbi stadium where police sharpshooters will be deployed as part of increased security for the competition.
One of Brazil's main trade unions estimated 45 million workers have taken part in the strike.
More than 100 cities have been affected by the stoppage, with more than 180 recording demonstrations, the G1 news site reported.
The number of protesters is expected to grow further, with demonstrations planned in Brazil's major cities in the late afternoon.
University students and professors are also expected to return to the streets in protest against the government's proposed education funding cuts.
Demonstrators earlier blocked some roads in several cities, including Rio de Janeiro and Sao Paulo, where police used tear gas to disperse demonstrators and clear the streets, G1 reported.
Brazilians were divided over the partial strike.
"This current government wants to destroy everything that we built decades ago so that's why I'm in favour (of the strike) and I am fighting against social inequality," Vania Santos, 49, told AFP in Rio.
In Sao Paulo, Flavio Moreira opposed the stoppage, however, saying it "hurts the commercial part" of the city.
Pension savings cut
Bolsonaro's proposed overhaul of Brazil's pension system – which he has warned will bankrupt the country if his plan is not approved – is seen as key to getting a series of economic reforms through Congress.
But the changes, including the introduction of a retirement age, have faced resistance from trade unions and in the lower house of Congress, where Bolsonaro's ultraconservative Social Liberal Party has only around 10 percent of the seats.
A pared-back draft of the reform presented to Congress on Thursday – which reduces expected savings from 1.2 trillion reais ($300 billion) in 10 years to around 900 billion reais – did little to appease union leaders.
Such savings are seen as vital to repairing Brazil's finances and economy, which were devastated by a 2015-2016 crisis.
Economy minister Paulo Guedes, who is spearheading the government's reform agenda, has threatened to resign if the bill is not passed or is watered down significantly.
"The ball is with the legislature," Bolsonaro told reporters Friday.
But Guedes criticised the latest changes to the bill, saying lawmakers had shown "there was no commitment to future generations".
"The commitment to the public servants of the legislature appears greater," he was quoted by G1 as saying.
Friday's strike and protests cap a tumultuous six months for Bolsonaro, who has seen his popularity nosedive as he struggles to push his signature reform through a hostile Congress and keep Latin America's biggest economy from sliding back into recession.
More than 13 million people are unemployed, the latest data shows, with a record number giving up looking for a job.
Fighting between military and far-right factions of Bolsonaro's government has fueled chaos in his administration where his sons and right-wing writer and polemicist Olavo de Carvalho wield enormous influence.
Bolsonaro sacked his third minister on Thursday – retired general Carlos Alberto dos Santos Cruz, who had been the government secretary and seen as a moderate voice.
That came on the same day Bolsonaro broke his silence to defend Justice Minister Sergio Moro, who has been accused of wrongdoing while serving as a judge in the sprawling Car Wash anticorruption investigation.