Stones were hurled at security forces as hundreds of protesters tried to reach the National Stadium â€“ where the golden tournament cup is on display.
A group of indigenous people who were demanding land rights at Congress eventually joined the protest.
This is the latest in a series of demonstrations in Brazil against the cost of staging the tournament.
Authorities say around 1,500 people were taking part in Tuesday's demonstration, which blocked one of the main roads of the city.
As the crowd tried to walk towards the National Stadium, host to several tournament matches, mounted police blocked their way.
With tensions running high, police fired tear gas several times to break up the demonstration.
The crowd was joined by a group of indigenous people who had climbed onto the roof of the Brazilian Congress building to demand changes in how their land is demarcated.
A policeman was reportedly injured in the leg by an arrow shot during the scuffles.
The demonstrations gridlocked the traffic in Brasilia for hours.
Last year, up to a million people joined demonstrations across the country to demand better public  services and highlight corruption and the high cost of staging the World Cup.
Since then several other anti-World Cup protests have been staged in Brazil, with many descending into violence.
Police in Brazil have fired tear gas at anti-World Cup and indigenous demonstrators in the capital, Brasilia.