The average train between Barcelona and St. Moritz takes 25h 56m and the fastest train takes 25h 29m. 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 6:55 PM. All services require a transfer at Valence Tgv Rhone-Alpes Sud and take an average of 25h 56m. The schedules shown below are for the next available departures.
Arrives next day




25h 29m • 4 changesArrives next day




26h 31m • 4 changesArrives next day




25h 29m • 4 changesArrives next day




26h 31m • 4 changesArrives next day




25h 29m • 4 changesArrives next day




26h 31m • 4 changesWant 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 25h 56m.
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, Swiss Federal Railways (SBB CFF FFS) and Rhätische Bahn.
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, Basel Sbb, Basel SBB, and Chur in around 15h 47m.