Brazil's World Cup officially opened with a lavish ceremony at the Corinthians Arena in Sao Paulo, hours after police and protesters clashed elsewhere in the city.
The spectacular ceremony in the 62,600-capacity stadium starred pop star Jennifer Lopez, who performed the tournament's official song, We Are One, with Brazilian songstress Claudia Leitte and rapper Pitbull.
More than 600 artists, including acrobatic gymnasts, trampolinists, marshal arts-style capoeira performers and stilt walkers also featured in a homage to Brazil's three great treasures: nature, people football.
Earlier, police fired tear gas, rubber bullets and noise bombs to disperse more than 100 demonstrators who gathered in eastern Sao Paulo, about 10 kilometres from the stadium where the opener between Brazil and Croatia is set to take place. At least five people were injured in clashes.
The month-long tournament sees 32 nations compete for a place in the final in Rio on 13 July. The tournament has been overshadowed by construction delays and political unrest with many Brazilians furious over $11 billion cost to host the event, Reuters reports.