The average train between Barcelona and St. Moritz takes 23h 26m and the fastest train takes 21h 46m. There is at least one train per day from Barcelona 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 once daily between Barcelona and St. Moritz. The earliest departure is at 9:26 AM in the morning, and the last departure from Barcelona is at 4:24 PM which arrives into St. Moritz at 5:55 PM. All services require a transfer at Valence Tgv Rhone-Alpes Sud and take an average of 23h 26m. The schedules shown below are for the next available departures.
Arrives next day




21h 46m • 4 changes
Arrives next day




25h 31m • 4 changes
Arrives next day




21h 46m • 4 changes
Arrives next day




25h 31m • 4 changes
Arrives next day




21h 46m • 4 changes
Arrives next day




25h 31m • 4 changes
Want to know about travelling from Barcelona 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 Barcelona to St. Moritz. However, there are services departing from Barcelona station and arriving at St. Moritz station via Valence Tgv Rhone-Alpes Sud. The journey, including transfers, takes approximately 23h 26m.
Barcelona to St. Moritz train services, operated by TGV inOui, depart from Barcelona-Sants station.
Barcelona to St. Moritz train services, operated by TGV inOui, arrive at St. Moritz station.
Book your Barcelona to St. Moritz train tickets online with TGV inOui, Schweizerische Südostbahn AG and 2 other operators.
The distance between Barcelona and St. Moritz is 835.9 km. The road distance is 1,366 km.
You can take a train from Barcelona-Sants to St. Moritz via Valence Tgv Rhone-Alpes Sud, Dijon Ville, Zuerich Hb, Zürich HB, and Chur in around 15h 20m.