The bus, which was carrying 40 passengers, departed from the city of President Prudente, in Sao Paulo state, yesterday bound for a town on the border with Paraguay where products are cheaper to buy.
Terrified passengers described how they were awakened at dawn by gunfire, before the driver lost control of the vehicle and smashed it into a tree, police and media said. The driver was among those killed.
Joao Paulo Lauandos, commissioner of the southern city of Mambore, where the incident took place, told Globo G1 website: "There was a convoy of five buses and this was the last coach.
Police are investigating.