Mexico has witnessed many such accidents leading to the deaths of migrants making the dangerous journey to the US.
What we know about the crash
The bus — which was headed to the northern border town of Tijuana from Mexico City — was carrying around 42 passengers, including citizens from India, Dominican Republic and some African countries.
Three minors were among those killed, the civil protection agency in Nayarit state reported.
At least 23 people were injured and are receiving treatment in the hospital.
State officials added that some passengers were on their way to the United States border.
The driver has been detained. Authorities suspect him of speeding and losing control before plummeting down an embankment, the civil protection agency said in a statement.
Rescue efforts have been "extremely difficult" because the ravine was about 40 meters deep (some 130 feet), Jorge Benito Rodriguez, the security and civil protection secretary for Nayarit, said.
Last month at least 29 people were killed after a passenger bus fell into a ravine in the state of Oaxaca.
In February, at least 17 people died in a bus accident between Oaxaca and central Puebla, involving migrants from Venezuela, Colombia, and Central America.