Riot police using tear gas and rubber truncheons to disperse about 50 protesters near a metro station on the route to the Arena Corinthians
Police in the Brazilian city of Sao Paulo have used tear gas to break up a protest against the football World Cup, hours before the opening match.
At least one person was arrested and five others were injured, three of them journalists. Protesters had tried to block a road leading to the stadium where the opening ceremony will take place.
Further protests are planned in other Brazilian cities over the expense of hosting the tournament.
In another development, striking airport workers in Rio de Janeiro blocked a road outside the airport, demanding a wage increase and a World Cup bonus.
The strike was to have lasted for 24 hours but union leaders called it off early for legal reasons.
Striking teachers also staged a rally in Rio city centre, further disrupting traffic.
Chanting
BBC correspondents in Sao Paulo said police charged with batons and riot shields, firing rubber bullets over heads of scores of protesters near a metro station on the route to the Arena Corinthians.
Police moved in after the demonstrators refused to clear the road.
The demonstrators had been chanting “there won’t be a Cup”.
A tweet from CNN presenter Alex Thomas said Sao Paulo producer Barbara Arvanitidis was among those injured, suffering a suspected broken arm.
The violence happened about 13km (8 miles) from the stadium where Brazil will play Croatia at 20:00 GMT.
Last year, more than a million people joined protests across the country to demand better public services and highlight corruption and the high cost of staging the World Cup.
Since then, other smaller anti-World Cup protests have been staged in Brazil, with some descending into violence.