Protesters and Brazilian police clashed in Sao Paulo just hours before the opening match of the World Cup between hosts Brazil and Croatia.
Police fired tear gas and used pepper spray to disperse a crowd of about 300 demonstrators angry about government overspending on the event and at least one protester was arrested before the situation calmed down.
The protesters were trying to cut off a key avenue leading to the Corinthians Arena where the match will be played on the eastern edge of Sao Paulo,
A few protesters suffered injuries after being hit by rubber bullets, while others were seen choking after inhaling tear gas.
"I'm totally against the Cup," said Tameres Mota, a university student at the demonstration. "We're in a country where the money doesn't go to the community, and meanwhile we see all these millions spent on stadiums."
In the crowd were anarchist adherents to the "Black Bloc" tactic of protest, a violent form of demonstration and vandalism that emerged in the 1980s in West Germany and helped shut down the 1999 World Trade Summit in Seattle.
Such Black Bloc protesters have frequently squared off against police in several Brazilian cities in the past year, as anti-government demonstrations have continued since a massive wave of protests hit Brazil last year.
Meanwhile, just after the match started about 300 protesters marched along Rio de Janeiro's Copacabana beach and stopped outside the FIFA Fan Fest, a closed and secured area on the beach where hundreds of fans were watching the match on a massive screen.
The protesters were carrying banners with slogans knocking the World Cup. The protest was peaceful, but there were worries that violence could break out.
Earlier, about 300 protesters gathered in central Rio in another demonstration.
Police started using tear gas and took a few protesters there into custody, but that protest dissipated a few hours before the match.
In Belo Horizonte, another World Cup host city, about 200 protesters clashed with police at a rally against the event in a central plaza.