Brazilian police arrested 54 people at a demonstration late yesterday against the World Cup in which two banks were vandalised, officials said.
About 1,000 people marched along the key Avenida Paulista road in Sao Paulo where the World Cup opening game will be held on 12 June.
Demonstrators carried banners with slogans such as "There will be no Cup."
They denounced the billions of dollars spent on preparations for the tournament, the world's biggest sporting event.
Police said on Twitter the 54 people arrested had been "promoting disorder".
At the start of the rally a Brazilian flag was burned.
Later, demonstrators smashed windows at two bank branches and took refuge at a subway station, where police surrounded them.
Sao Paulo has seen several protest rallies against the World Cup, but numbers have shrunk.
Huge rallies were held in June last year when Brazil staged the Confederations Cup, a rehearsal tournament for the World Cup.
Then, a huge grassroots movement took to the streets with more than one million people demanding better services in health, education and transport and a crackdown on corruption.
Recent demonstrations have been smaller but more violent, tending to end in vandalism and clashes with police, who sometimes have taken a hard line on protesters.
Police used a stun grenade to disperse the latest demonstration.
The World Cup will be held in 12 Brazilian cities with the final in Rio de Janeiro on 13 July. The home country is a strong favourite to win the trophy.