Tensions were high in Sao Paulo after police resorted to tear gas and detained some 50 protesters, as thousands took to the streets against the country's latest round of transport fare hikes.
Around 2,000 people converged in Sao Paulo, according to police -- including a number of masked anarchists known as Black Blocs.
Police accused the group of throwing trash and sticks at officers, who responded with tear gas and pepper spray, and said they had made 50 arrests.
Organizers said some 30,000 protesters gathered in Sao Paulo, in stark contrast with police estimates.
Helicopters and mounted police patrolled the area into the night, with several subway stations closed.
Amid a marked economic downturn and high inflation, bus fares went up in Sao Paulo, Brazil's largest city, from 3 to 3.50 reais, and in Rio, the former capital, from 3.0 to 3.40 reais.
Rio's 13 percent hike is almost exactly double the current rate of inflation.
The demonstration, which ran in conjunction with a 500-person march in Rio de Janeiro, comes after the issue sparked unprecedented mass protests in June 2013.
The Rio state prosecutor sought in court to overturn the hike, saying prices should be pegged at 3.20 reais, but the attempt failed.
As in 2013, protesters Friday held signs against what they said was an insufficient public transportation system and called for free student fares.
Some of those at the rally, including supporters of far-left Socialism and Freedom party, held up "I am Charlie" banners in solidarity with those slain in Wednesday's terror attack on French satirical weekly newspaper Charlie Hebdo
The protests were called by the Free Pass Movement, which sparked the 2013 protests that spread nationwide just as the Confederations Cup, a dress rehearsal for the 2014 World Cup, was getting under way.
"I came to the protest because transportation should be free. So we can begin to change things and have improvements," 19-year-old Pietro Battiato, a student who has participated in the mobilization for a year and a half, told AFP
Protesters converged on the city center and engaged in sporadic confrontations with police.
Some Sao Paulo marchers carried banners reading "no to the increases" and also demanded the reinstatement of metro workers sacked during a recent strike.
In Rio, police estimated around 500 protesters marched down Avenida Presidente Vargas, one of the city's main thoroughfares.
The Free Pass Movement said it regretted the "violent repression" by police in Sao Paulo and called for a new demonstration in the Brazilian economic capital for next Friday.