Protesters were seen erecting and burning barricades, and public transport was affected in the main cities.
The Sao Paulo underground and bus services were only operating partially, while public transport was partially paralysed also in Salvador, Belo Horizonte and the capital Brasilia, local media reported.
Employees of banks, educational institutions, post offices and the state oil company, Petrobras, also joined the strike.
Protesters blocked roads, including a highway leading to Sao Paulo airport, according to a newspaper, Folha de Sao Paulo.
“Police launched tear gas to disperse protesters in Sao Paulo and Rio de Janeiro.
A car hit a crowd of protesters blocking a road, causing injuries to five people in Niteroi in Rio de Janeiro state, news portal,’’ Jovem Pan, reported.
A woman was hospitalised after breathing smoke from burning tyres in Belo Horizonte.
Several people were reported to have been arrested in Espirito Santo state in the south-east.
The strike was called by trade unions to protest the Bolsonaro government’s spending cuts in areas such as education and a pension reform, which still needs to be approved by Congress.
The government argued that the reform would create savings of over 260 billion dollars in 10 years.
The reform would set the retirement age at 62 years for women and at 65 years for men.
Many Brazilians currently retire already in their 50s.
Brazil’s pension system has been a major contributor to the country’s large budget deficits.
Edited by Abigael Joshua and Olisa Ifeajika