Online news site tvnoviny.sk reported that the bus was carrying high school students.
Health Minister Andrea Kalavska, who was at the site, said four of the people killed were children, but did not release their ages.
The accident occurred in Nitranske Hrnciarovce, about 100 kilometers (60 miles) east of the capital Bratislava at around 1 p.m. (1200 GMT) police and firefighters said.
“At this moment, our thoughts are with the parents who lost their children,” Slovak President Zuzana Caputova said. “We all hope that the number of the victims won’t be rising.”
Slovak Prime Minister Peter Pellegrini called it a “horrible tragedy” and said he was cutting short his visit to Cyprus and heading to the scene.
He offered his condolences to the relatives of the victims.
Firefighters originally put the number of dead at 13 but later lowered it to 12. The injured are treated in nearby hospitals.
Photos from the scene published by the police showed an overturned truck on the road surrounded by gray stones it had been carrying as cargo and the bus on its side in a roadside ditch.
The Arriva company said its bus was traveling from Nitra, near the scene of the accident, to the town of Jelenec. It didn’t say how many people were onboard. It said it is fully cooperating with the rescuers.
Further details were not immediately available.