Riot police fired percussion grenades and teargas at anti-World Cup protesters in São Paulo and Rio de Janeiro on Thursday as the countdown to the kick-off was marred by demonstrations in at least 10 Brazilian cities. Just hours before the opening ceremony at the Itaquerão stadium, about 100 protesters started fires and threw rocks at police in an apparent attempt to block a road leading to the venue.

The confrontation led to at least one arrest and five injuries, including a suspected broken arm suffered by a CNN producer who was hit by a teargas canister.

Amnesty International accused the police of using excess force. "The Brazilian authorities must, without delay, investigate why excessive force was used against peaceful protesters, bring those responsible to justice and ensure this does not happen again," said Atila Roque, director of Amnesty International Brazil.

The "Our Cup is on the Street" protests are targeting the high cost of the stadiums, corruption, police brutality and evictions. Similar demonstrations have been organised via social networks in 100 cities, including several that host World Cup games, such as Brasilia, Belo Horizonte, Fortaleza, Porto Alegre and Recife.

Rio de Janeiro saw clashes after about 600 people marched through the city centre bearing banners declaring "Fifa go home" and "World Cup of corruption". The ITV studio in São Paulo had its window cracked by stone-throwing demonstrators.

The protesters started in a festive mood, spraying pink glitter on passersby and dressing up as hula-hooping pixies and cupids to mark Brazilian Lovers' Day, which is also being celebrated today. But their messages were serious. "The World Cup steals money from healthcare, education and the poor. The homeless are being forced from the streets. This is not for Brazil, it's for the tourists," said Denize Adriana Ferreira.

The protest turned violent in Lapa after a "Black Block" anarchist kicked a policeman, provoking volleys of teargas and pepper spray that mingled with the celebratory fireworks.

It was not the only surreal contrast during the preparations. In central Rio, visiting football fans wearing Mexico, Argentina and Colombia shirts looked on bemused as riot police chased Black Block demonstrators through the city streets.

But there was widespread sympathy for the protest. Some Brazilians are switching their support to other teams as a mark of protest. André de Magalhães Gomes said he had always previously backed the Seleção (Brazilian team) but today he joined the demonstration wearing an Argentina shirt. "Brazil shouldn't be hosting the World Cup. Fifa just like to pick the most corrupt nation."

A newspaper kiosk worker agreed. "I refuse to support Brazil. This country is imbecilic. I'm backing England instead."

With a presidential election campaign due to start soon after the World Cup, there was a strong political tone to many of chants such as "Even if we don't try, this government will fall."

Union leaders are also targeting the tournament in the belief that the government will offer concessions rather than risk embarrassment at service failures.

The latest group to take industrial action over pay were staff at Rio's two main airports, Galeao and Santos Dumont. They have launched a go-slow, but promised to maintain 80% of the usual service, raising the risk of delays for the 600,000 foreign fans expected to visit Brazil during the tournament. A small group of airport workers briefly blocked traffic outside the Galeao international airport on Thursday morning, adding to the delays.

Subway workers were also on strike in São Paulo earlier this week, putting extra pressure on the already congested roads of South America's biggest city. Their industrial action has been temporarily suspended, but further strikes remain possible.