In clashes broadcast live on television yesterday, riot police fired tear gas into small pockets of protesters, some of whom picked up gas canisters and threw them back at officers, along with stones and pieces of wood.
Some of the demonstrators were armed with bows and arrows, and fired a few arrows at mounted police.
Police said they had no information on any injuries during the rally, which saw about 300 protesters gather in Brasilia's main area. The clashes ended by nightfall.
They were joined by demonstrators rallying against Brazil's hosting of the World Cup. Many Brazilians are angered about the billions being spent on the tournament, saying the money should have gone to improving Brazil's woeful public services.
More From This Section
Brazil has seen almost daily protests in the weeks leading up to the World Cup, which begins June 12. Last year, huge anti-government protests took over streets in dozens of cities during the Confederations Cup, which is international soccer's warm-up tournament for its premier event, the World Cup.
Elsewhere in the country yesterday, about 500 teachers peacefully rallied on a main avenue in Sao Paulo, South America's largest city. The educators have been on strike for about a month, demanding higher salaries.