Police in a poor suburb of Rio de Janeiro used tear gas and stun grenades to clear protesters in the path of the Olympic torch on Wednesday, two days ahead of South America’s first Olympic Games.
Olympic Brazilian sailors delivered the torch to the city's mayor after crossing Guanabara Bay near the end of a 20,000-km journey.
The clash came a day after anti-torch protests in nearby towns and amid several days of gang violence in northern Brazil.
Protesters are unhappy with the amount of money that has been spent on Olympic Games while a large portion of the population are living in poverty. They are also calling for more accountability from elected officials after a massive corruption scandal surrounding the state oil company ensnared dozens of high-level politicians.
Police said that protesters in Duque de Caixas, on Rio's north side, threw rocks and blocked the torch's path.
Police dispersed them with pepper spray and rubber bullets. A video of the incident spurred social media criticism of the police and amplified complaints that the Games ignored the poor.
Brazil is currently in the midst of the country's worst recession in at least a quarter century and an impeachment trial of a suspended president.
85,000 police, soldiers and security personnel will be deployed in Rio during the Games - more than double the amount in London in 2012 - to deter both riots and the threat of attacks by extremists.