- Recommended
Segantini Museum
Dedicated to the works of Giovanni Segantini, showcasing his famous Alpine paintings.
Cheapest price
$67
Average price
$100
Fastest journey
7 h 22 m
Average duration
7 h 31 m
Trains per day
5
Distance
411 km
The best way to find a cheap train ticket from Frankfurt am Main to St. Moritz is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Frankfurt am Main to St. Moritz will cost around $100 if you buy it on the day, but the cheapest tickets can be found for only $67.
Of the 5 trains that leave Frankfurt am Main for St. Moritz on Tue, May 19, 5 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Tue, May 19 the direct trains cover the 411 km distance in an average of 7 h 31 m but if you time it right, some trains will get you there in just 7 h 22 m .
On Tue, May 19 the slowest trains will take 7 h 52 m and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.










Omio recommends booking the train as it is the most popular option from Frankfurt am Main to St. Moritz among Omio's users. If you are prioritising price take the train with prices starting from $61. For those with little time consider booking a flight which can get you there in 1h 15m. The ticket price range depends on the travel mode: a train costs an average of $61, and a flight costs an average of $21.
Distance: 255 miles (411 km)
Most popular Train | Flight | Driving |
|---|---|---|
$115 Average price Cheapest | $121 Average price | $190 Average price (fuel + tolls) |
7h 48m Average total duration 7h 18m Onboard + 30m Additional time* | 4h 15m Average total duration Fastest 1h 15m Onboard + 3h 0m Additional time* | 6h 31m Average total duration (door-to-door) |
![]() Most popular train company | ![]() Most popular airline | Your own car or car rental |
Direct Options | Direct Options | Direct Options |
This is compared to other travel options from Frankfurt am Main to St. Moritz:
A train is $6 (€5) less than a flight for this route with tickets for a flight from Frankfurt am Main to St. Moritz costing on average $121 (€97).
Other travel options to St. Moritz take longer:
Train takes on average 7h 18m.
Bus takes on average 7h 40m.
Tickets start at around $115 (€93) compared to roughly $190 (€154) in fuel and tolls — a saving of about $75 (€61). The journey takes 7h 18m versus 6h 31m by car, so you'll arrive a bit later, but you can work, read, or sleep along the way rather than spending the time behind the wheel. You'll also save the hassle of parking at the other end.
Driving is worth it if you're on a tight schedule, travelling as a group, or want to stop somewhere en route.
The table below shows live departures for Frankfurt am Main to St. Moritz trains for today, Monday, May 18. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
![]() | 8:50 AM Frankfurt am Main | 7h22 | 4:12 PM St. Moritz | 0 transfersDirect | |
![]() | 9:20 AM Frankfurt am Main | 7h35 | 4:55 PM St. Moritz | 0 transfersDirect | |
![]() | 9:50 AM Frankfurt am Main | 7h22 | 5:12 PM St. Moritz | 0 transfersDirect | |
| Tuesday, May 19 | |||||
![]() | 7:50 AM Frankfurt am Main | 7h22 | 3:12 PM St. Moritz | 0 transfersDirect | |
![]() | 8:20 AM Frankfurt am Main | 7h35 | 3:55 PM St. Moritz | 0 transfersDirect | |
Find all the dates and times for this journey
Compare train and flight prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
Trains from Frankfurt am Main to St. Moritz run on average 6 times per day, taking around 7h 18m. Cheap train tickets for this journey start at $61 (€49) but you can travel from only $21 (€17) by flight.
The earliest train runs at 04:07, the last at 22:02. The fastest train covers the 255 miles (411 km) distance in 7h 10m.
Distance 255 miles (411 km) |
Average train duration 7h 18m |
Cheapest ticket price $61 (€49) |
Trains per day 6 |
Fastest train 7h 10m |
First train 4:07 AM |
Last train 10:02 PM |
Cheapest Month May |
Cheapest Day Tue |
High Season Jan - Mar |
Low Season Apr - Jun |
Busiest Day Sun |
Least Busy Day Sun |
Best time to book 21 days |
Discover the best of St. Moritz — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect St. Moritz trip today.
Dedicated to the works of Giovanni Segantini, showcasing his famous Alpine paintings.
Exhibits showcasing the history and culture of the Engadine region.
Features the works of artist Peter Robert Berry and provides a view into his life.
An area well-suited for snowboarding and skiing with excellent facilities.
Provides panoramic views over the Engadin valley, accessible by funicular railway.
A traditional Valchiavenna pasta dish made with buckwheat noodles, potatoes, Swiss cheese, butter, and savoy cabbage.
Swiss chard rolls filled with Spätzle dough, dried meat, and flavorful herbs, boiled and often served with cream sauce.
A dish made from grated potatoes mixed with flour, butter, and salt, cooked until crispy, traditionally served with cheese and applesauce.
St. Moritz is a high-end resort town with prices reflecting its luxury status, especially for accommodation and dining.
Service included in restaurant bills, but rounding up or leaving a small tip (5-10%) is appreciated.
Official public transport app
St. Moritz Bahnhof -> St. Moritz city center
Find answers to the most common questions about traveling from Frankfurt am Main to St. Moritz by train. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest train, the cheapest option, or tips for making the most of your visit at St. Moritz, this guide helps you travel smarter and with confidence.

Here are some other resources that might have the information you need