The average train between Villach and St. Moritz takes 12h 42m and the fastest train takes 10h 9m. 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 42m. The schedules shown below are for the next available departures.




10h 33m • 4 changes




10h 9m • 4 changes




10h 27m • 4 changes




10h 30m • 4 changes




10h 33m • 4 changes




10h 9m • 4 changes




10h 27m • 4 changes




10h 30m • 4 changes




10h 33m • 4 changes




10h 9m • 4 changes




10h 27m • 4 changes




10h 30m • 4 changes




10h 33m • 4 changes




10h 9m • 4 changes




10h 27m • 4 changes




10h 30m • 4 changes




10h 33m • 4 changes




10h 9m • 4 changes




10h 27m • 4 changes




10h 30m • 4 changes




10h 33m • 4 changes




10h 9m • 4 changes




10h 27m • 4 changes




10h 30m • 4 changes
Want 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 station and arriving at St. Moritz station via Schwarzach-St.Veit. The journey, including transfers, takes approximately 12h 42m.
Villach to St. Moritz train services, operated by Nightjet, depart from Villach Hbf station.
Villach to St. Moritz train services, operated by Nightjet, arrive at St. Moritz station.
Book your Villach to St. Moritz train tickets online with Nightjet, ÖBB and 5 other operators.
The distance between Villach and St. Moritz is 307.4 km. The road distance is 596 km.
You can take a train from Villach Hbf to St. Moritz via Schwarzach-St.Veit, Innsbruck Hauptbahnhof, Sargans, and Chur in around 11h 23m.