Passengers escaped injury when a train derailed on Saturday after it rammed into landslide debris blocking the tracks, Swiss Federal Railways (SBB) said.
"The 15 passengers on board were evacuated. ," SBB spokesman Reto Schaerli told AFP, adding that the accident happened around 9am.
"No one was hurt."
Heavy rain overnight caused the landslide, dropping mud and rocks on the tracks between Palezieux and Payerne, northeast of Lausanne, he said.
The first two cars of the train had jumped the track and were lodged in the mud, another SBB spokesman, Jean-Philippe Schmidt, told AFP from the scene.
The train was heavily damaged and efforts were being made to remove the rubble and try to put the train back on the tracks.
The regional train line from Lausanne to Payerne would remain closed until next Sunday, Schmidt said later.
Landslides and avalanches are common in mountainous Switzerland, especially after heavy rains or sudden shifts in temperatures.
Earlier Saturday, another landslide near Bern blocked a regional train line linking the Swiss capital to Neuchâtel in the northwest for several hours, and forced the high-speed TGV service between Bern and Paris to be rerouted, the ATS news agency reported.
That landslide happened at around 3:30am — before the first train of the day was set to pass — and the rails were cleared and open to traffic again by 9am.