The passenger vehicle was partially submerged in the Mapacho river, which hampered rescue efforts.
Another 35 people were injured in the crash which happened on a remote stretch of road outside Cusco in the southeast of the country.
Most of the passengers were travelling from Puerto Maldonado to Cusco to cast their ballots in Sunday’s presidential election.
Voting is obligatory in Peru and those who do not participate can be fined.
In 2013, 52 people were killed in a bus crash in the Cusco area – the worst traffic accident in Peru in 30 years.