The average train between Villach and St. Moritz takes 12h 48m and the fastest train takes 10h 27m. The train service runs several times per day from Villach to St. Moritz. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run every 4 hours between Villach and St. Moritz. The earliest departure is at 5:22 AM in the morning, and the last departure from Villach is at 5:28 PM which arrives into St. Moritz at 1:55 PM. All services require a transfer at Schwarzach-St.Veit and take an average of 12h 48m. The schedules shown below are for the next available departures.




10h 27m • 4 changes



10h 27m • 4 changes



10h 30m • 4 changesArrives next day




17h 27m • 4 changes



10h 33m • 4 changes



10h 27m • 4 changes



10h 27m • 4 changes



10h 30m • 4 changes



10h 33m • 4 changes



10h 27m • 4 changes



10h 27m • 4 changes



10h 30m • 4 changes



10h 33m • 4 changes



10h 27m • 4 changes



10h 27m • 4 changes



10h 30m • 4 changes



10h 33m • 4 changes



10h 27m • 4 changes



10h 27m • 4 changes



10h 30m • 4 changes



10h 33m • 4 changes



10h 27m • 4 changes



10h 27m • 4 changes



10h 30m • 4 changesWant to know about travelling from Villach to St. Moritz? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Villach to St. Moritz. However, there are services departing from Villach Hbf station and arriving at St. Moritz station via Schwarzach-St.Veit station, Innsbruck Hauptbahnhof station and Sargans station. The journey, including transfers, takes approximately 12h 48m.
Villach to St. Moritz train services, operated by Deutsche Bahn Intercity (DB IC), depart from Villach Hbf station.
Villach to St. Moritz train services, operated by Rhätische Bahn, arrive at St. Moritz station.
Book your Villach to St. Moritz train tickets online with Omio.
The distance between Villach and St. Moritz is 307.4 km. The road distance is 414 km.
You can take a train from Villach Hbf to St. Moritz via Schwarzach-St.Veit, Innsbruck Hauptbahnhof, Sargans, and Chur in around 10h 47m.