Thousands of people in Sao Paulo and Rio de Janeiro protesting against the cost of Brazil hosting the World Cup have been dispersed by riot police using tear gas.

Protests also took place in many other cities, including the capital Brasilia.

Teachers and civil servants, among others, were also on strike across Brazil less than a month before the tournament kicks off.

Some demonstrators hurled stones while other burned tyres and blocked roads, the BBC reported.

They say they are angry that billions of dollars are being spent on next month’s football tournament, rather than social projects and housing.

Aerial images in Rio, which hosts the World Cup final on July 13, showed hundreds of people marching in rush-hour traffic on a main thoroughfare.

Protesters there and in Sao Paulo, Brazil’s biggest city, clashed with police before beginning to disperse.

While the number of people on the streets was much lower than during similar protests last year, some promised that demonstrations would get bigger and more frequent as the World Cup gets closer.