One person was shot and killed as violent protests erupted in Rio's Copacabana beach district less than two months before soccer's World Cup begins in Brazil.
The riots followed the death of a dancer, allegedly at the hands of police. Brazilian media said he was fatally beaten after officers mistook him for a drug trafficker.
Two main roads were closed on Tuesday after demonstrators from a slum set alight barricades of tyres and hurled bottles and other missiles at police.
A 30-year-old man died after being shot in the head in the slum, which is just a stone's throw from Copacabana beach.
He was taken to hospital but was dead on arrival, health officials said. It was not immediately clear who shot him.
Demonstrators are furious that billions of dollars have been spent on World Cup infrastructure instead of public housing, roads, more aid for the poor and ending violent crime.
The trouble began in the early evening in the Pavao-Pavaozinho favela - which nestles above the well-heeled tourist centres of Copacabana and Ipanema - before quickly spreading, witnesses said.
"It started about 5.30pm. There was smoke everywhere, gunshots in the street and people racing for home," said a young man who lives next to the favela, or slum. "A number of police special unit trucks have just gone up into the favela. We are stuck at home - we can't go out," he added, as helicopters flew over.
Another resident said electricity supplies had been cut in the area and reported that the situation remained tense.
Media reported that the violence had spilled over into Ipanema as some youngsters went on the rampage there, pursued by police.
Security forces have been cranking up efforts in recent months to clear the favelas, which are ruled by violent criminal gangs, before the month-long World Cup kicks off on June 12.
A huge slum "pacification" programme was launched six years ago and was gradually rolled out to improve security in Rio, which will also host the 2016 Olympics. But the gangs have been fighting back.
Friends of the dancer, named as 25-year-old Douglas Rafael da Silva Pereira, alleged he was beaten to death after attempting to take refuge in a school in the slum, where a Police Pacification Unit was set up in December 2009 as part of efforts to smash organised crime.
Police said in a statement: "The circumstances surrounding the death of Douglas are under investigation. An on-site report indicates Douglas' injuries are compatible with a death caused by a fall."
The statement added: "Witnesses and residents will be called upon to give evidence."
But the dancer's mother said: "He died at 1am. It was more than 12 hours afterwards that we got to see the body.
"He was in a defensive posture, all beaten up. There were no signs of gunshot wounds."
She added that her son had gone to the favela to visit his four-year-old daughter.