The deaths were reported by Lusa, the Portuguese national news agency.
German newspaper Bild said the tour bus was carrying 55 passengers when the accident happened near the town of Caniço, east of Funchal.
German tourists were among those who died, the country's embassy said, without giving figures.
The regional protection service did not confirm the death toll given to the media by Filipe Sousa, mayor of Santa Cruz, where the accident happened.
Regional president Miguel Albuquerque offered his condolences to the families of victims who, he said, included “many foreigners”.
Televised images showed the bus had spun off the road, apparently having flipped several times, before crashing into a house at the bottom of a slope.
The accident happened at around 6.30pm.
Sousa said all the tourists in the bus were German but it was not clear if the fatalities occurred only in the bus.
Emergency services were shown in pictures at the scene.
— Agência Lusa (@Lusa_noticias) April 17, 2019
The driver and the tour guide are said to have survived the crash, but have injuries, reported Bild. The news agency Lusa reported that at least 22 of the surviving tourists had been taken to a hospital in the capital Funchal. Three people are said to have life-threatening injuries.
Portuguese President Marcelo Rebelo de Sousa is flying to the island to visit the scene, the agency added.
Madeira lies about 950 kilometers southwest of Lisbon in the Atlantic Ocean and is a popular holiday destination for Germans.