Dans la soirée, le sort de l'un des conducteurs de l'un des deux trains restait incertain.
La collision est survenue vers 19h, heure locale (13h, heure du Québec) à Granges-près-Marnand, dans le canton de Vaud, entre un train circulant en direction de Lausanne et un autre train en provenance de Lausanne.
Le trafic a été interrompu sur une partie de la ligne qui relie les villes de Palézieux et de Payerne, ont indiqué les Chemins de Fer Fédéraux (CFF).
Un important dispositif de secours - police, pompiers, ambulances - a été déployé.
Blessés pris en charge
«De nombreux passagers sont blessés et pris en charge par les secours au bord des voies», indiquait le site internet du journal 20 minutes.
Les parties avant des deux trains étaient défoncées et partiellement encastrées l'une dans l'autre.
Les cinq blessés graves ont été acheminés par hélicoptère ou par ambulance à l'hôpital de Payerne et au Centre Hospitalier Universitaire Vaudois (CHUV) à Lausanne.
Avant l'annonce du premier bilan de la police, des médias suisses évoquaient déjà des bilans de plusieurs dizaines de blessés. La télévision de Suisse romande faisait état d'une trentaine de blessés, et la télévision suisse-alllemande de 44 blessés dont quatre dans un état grave.
Un procureur s'est rendu sur les lieux de l'accident pour l'ouverture d'une enquête.