The driver of one of the trains was killed in the incident and his body was recovered on Tuesday morning after the wreckage of the two locomotives were separated, police said. An autopsy was ordered to establish his identity. The other driver was injured.
Conditions of five among the injured were serious, sources in Swiss Federal Railways said. The ill-fated trains were playing between Payerne and Lausanne.
The crash occurred in Granges-près-Marnand, about sixty kilometres south-west of the capital, around 6.50 pm.
Paramedics, firefighters, police personnel and air rescue helicopter rushed to the spot soon after the crash.
The authorities were yet to ascertain the cause of the crash and started a probe. The crash interrupted the train service for some time.
Eighty people were killed in Spain last week when a speeding train got derailed and crashed.