At least 30 people were killed when a bus tumbled down a cliff onto a rocky beach along a narrow stretch of road known as the "Devil's Curve," Peruvian police and fire officials said.
The bus was carrying 57 passengers to Peru's capital when it was struck by a tractor trailer and plunged down the slope, said Claudia Espinoza with Peru's voluntary firefighter brigade.
The bus came to rest upside down on a narrow strip of shore next to the Pacific, bodies of passengers strewn among the rocks.
"There is a large number of fatal victims," Colonel Dino Escudero told RPP radio.
Rescuers were working to pull victims from the area in Pasamayo, about 43 miles (70km) north of Lima.
No road leads directly to the beach, complicating rescue efforts, Ms Espinoza said, though police and firefighters managed to transport five survivors with serious injuries to a nearby hospital.