About 1,000 protesters complaining about the cost of staging the World Cup demonstrated at the National Stadium in Brasilia just hours before Brazil played Japan in the opening match of the Confederations Cup.
Riot and mounted police were called in to keep demonstrators from getting too close to the stadium as thousands of fans arrived for the first match in the nation's capital. The protesters started chanting and marching about a mile away from the venue.
Tear gas bombs were thrown by the police and pepper spray was used to try to control the protesters as they moved near the venue.
Local media said police later shot rubber bullets to disperse the crowd and at least two people were injured, including a 16-year-old student. The authorities said 15 people were arrested.
The match was not disrupted by the protest and Brazil won 3-0 in front of a crowd of 67,423 people.
The protesters shouted against the local government and carried banners saying that too much money was being spent on the Confederations Cup and next year's World Cup while the majority of the population continued to struggle.
"We are demanding more respect to the population," said 21-year-old Vinicius de Assis, one of the protesters. "They are building these overpriced stadiums and are not worrying about the situation of their own people."
The demonstrators also shouted against FIFA, saying that football's governing body does not have the right to make demands on the Brazilian government. "FIFA, go away," they chanted.
The protesters also said they are being excluded from the tournaments because of the high prices of match tickets.
"This is a shame, this is our money that they used for these tournaments," said Jaisson Peres. "Millions and millions spent and we don't get anything in return."