The accident happened at 18:30 (17:30 GMT) when the driver lost control of the bus at a junction and went off the road, reports said.Portuguese media showed the overturned vehicle had come to rest near houses.
“I have no words to describe what happened. I cannot face the suffering of these people,” local Mayor Filipe Sousa told broadcaster SIC TV.
He said all the tourists on the bus were German but some local people could also be among the casualties. Eleven of the fatalities were men and 17 women, Mr Sousa added. The bus was reported to be carrying 55 people.
The scene of the crash has been sealed off and the injured transferred to a hospital in the island’s capital, Funchal, Lusa said. An investigation into the crash has been launched.
Portuguese President Marcelo Rebelo de Sousa is flying to the island to visit the scene, the agency said.
Prime Minister Antonio Costa has sent a message of condolence to German Chancellor Angela Merkel, Reuters reported.Madeira was the scene of another fatal bus crash in 2005 when five Italian tourists died in São Vicente, on the northern coast.