A powerful storm swept across south-eastern Brazil, killing at least five people and causing widespread disruption in Rio de Janeiro, São Paulo and other cities, local media reported on Wednesday.

Wind gusts exceeding 100 kilometres per hour toppled dozens of trees, tore roofs from buildings, brought down walls and triggered widespread power outages.

The storm, caused by a cold front moving over the sea, also disrupted transport. Roads were blocked, while metro services, port operations and flights at Rio de Janeiro's Santos Dumont domestic airport were affected.

Videos circulating on social media showed strong winds buffeting cable cars in Rio de Janeiro, construction workers on scaffolding and boats at sea.

Two people were killed in Rio de Janeiro when a wall collapsed, news portal G1 reported, citing the fire department. A fisherman was also reported missing.

In São Paulo, two people were killed by falling trees, CNN Brasil reported. Another person died after a boat capsized.