The collision happened on Friday when the bus was attempting to cross rail tracks in the town of Anahuac, Nuevo Leon, state civil protection chief Jorge Camacho told AFP.
The accident occurred just after 5pm local time at Camarones station, near the US border.
At least two children were reported among the dead, Camacho said.
Images broadcast by local media showed the bus split in half by the force of the train.
Many of the injured were taken to hospitals in the nearby border town of Nuevo Laredo, around 60 kilometers away, mayor Desiderio Urteaga told Milenio television.
The bus, which normally transports around 40 people, was traveling with 51 passengers, as it made its way from Nuevo Laredo to the northern city of Nueva Rosita.
Camacho said an investigation was underway to determine whether the bus driver was trying to beat the train when the vehicle was struck.
There was no fog or rain in the area at the time, he said.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ