Protesters angry over Brazil's spending on the World Cup vandalised stores and banks and clashed with police yesterday in Belo Horizonte, one of the 12 cities hosting the tournament.
Backed by trucks and helicopters, dozens of police marched up a main street in the southeastern city to reclaim it from around 200 demonstrators.
The two groups clashed just as the World Cup opening ceremony was getting under way in Sao Paulo and continued as Brazil and Croatia took to the pitch for kick-off.
Protesters overturned a police car and broke the windows of buildings in the central business district.
A Reuters photographer was hurt when he was hit on the head by a rock thrown by a protester, said local daily Estado de Minas.
Police arrested four protesters, the newspaper said.
In Sao Paulo, riot police fired tear gas, stun grenades and rubber bullets to stop radical activists from marching on Corinthians Arena, where the opening match was played.
There were street parties elsewhere as the Brazilian soccer team won the opening game.
Millions of Brazilian fans continued the revelry into the night, with a heavy presence of police and troops to maintain order.
Despite worries over traffic and the Sao Paulo stadium, which was completed six months late and was not fully tested before the game, there were no reports of major logistical problems before or after the game.
Brazil coach Luiz Felipe Scolari after the game praised the stadium as "incredible" and "fantastic".
Brazilian President Dilma Rousseff, who attended the game, was jeered by many in the stadium crowd and by fans at big-screen viewings across the country.
She has defended the World Cup against criticism ahead of her bid for re-election in October
The tournament's run-up was largely overshadowed by construction delays and months of political unrest.
Many Brazilians are furious over the $11 billion (€8.11bn) being spent to host the World Cup in a country where hospitals and schools are often poor.
Protests flared at some point yesterday in many of the 12 Brazilian cities that will host games, including Rio de Janeiro.
Police fired tear gas, rubber bullets and noise bombs to disperse about 600 demonstrators who gathered in eastern Sao Paulo, about 10km away from the Corinthians arena where the game took place.
Roughly 1,000 protesters in Rio de Janeiro marched peacefully, though some burned Brazilian flags and carried signs saying "FIFA go home".
On the city's Copacabana beach, where thousands gathered for an outdoor broadcast, protesters hurled rocks at a studio set up by a British television crew.