A bus traveling from the towns of Huancayo and Huanta fell into a ravine some 650 feet deep in the Huancavelica area, in the southeastern part of the country, just before dawn.
Police earlier reported 20 deaths, before the health ministry said four more had died. At least two of the deceased were children.
Locals arriving on the scene were the first to respond to the accident, and found passengers still alive in the bus, media reports said. The vehicle was held in place by bushes, preventing it from being swept away by a river.
Rescue workers later arrived to extricate survivors from the wreckage and evacuate them to hospitals.
It is not yet clear what caused the accident, although the mayor of a nearby town said that the road was damaged in a recent landslide and has not yet been repaired.
Another accident in the area last month left 13 people dead. World Health Organization statistics for 2019 log 4,414 deaths in road accidents in the country.