Travel Information
Compare train, bus, and flight for Utrecht to Zurich
Omio recommends booking the train as it is the most popular option from Utrecht to Zurich among Omio's users. If you are prioritising price take the bus with prices starting from €27. For those with little time consider booking a flight which can get you there in 1h 33m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.2 - 0.5kg. The ticket price range depends on the travel mode: a bus costs an average of €27, and a flight costs an average of €60.
Distance: 360 miles (580 km)
Compare train with
Most popular Train | Bus | Flight |
|---|---|---|
€137 Average price | €60 Average price Cheapest | €170 Average price |
10h 41m Average total duration 10h 11m Onboard + 30m Additional time* | 12h 23m Average total duration 11h 53m Onboard + 30m Additional time* | 4h 33m Average total duration Fastest 1h 33m Onboard + 3h 0m Additional time* |
0.2 - 0.5kg CO2 emissions Lowest | 0.6 - 1.4kg CO2 emissions | 1.7 - 3.5kg CO2 emissions |
![]() Most popular train company | ![]() Most popular bus company | ![]() Most popular airline |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Travel optionsfrom Utrecht to Zurich
How to get from Utrecht to Zurich by train, bus or flight.
Our recommendation
The best way to travel from Utrecht to Zurich is by taking a bus because it’s the best combination of price and speed.
FlixBus · FlixBusCheapest
FlixBus · FlixBus · FlixBusFastest
EW762Other options
ICE 225 · ECE 5+
TGV 9213
ICE 123 · ICE 919 · ICE 73 · IC 581
ICE 123 · ICE 519 · ICE 373
FlixBus · FlixBus
FlixBus · FlixBus
EW10 · EW8762
EW7061 · EW7762
EW9040 · EW8764Find all the dates and times for this journey by train, bus, flight, and ferry .
Compare prices and tickets Prices for trains, buses and flights
Compare train, bus, 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.
Feb 06
Feb 07
Feb 08
Feb 09
Feb 10
Feb 11
Feb 12
Feb 13
Feb 14
Feb 15
Feb 16
Feb 17
Feb 18
Feb 19
Feb 20
Feb 21
Feb 22
Feb 23
Feb 24
Feb 25
Feb 26
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Utrecht to Zurich
Travel to Zurich easily. Whether you want fast, cheap or something entirely different, our travel experts have collected everything you need to know so you can find the best option from Utrecht to Zurich.

This is compared to other travel options from Utrecht to Zurich:
A bus is $38 (€30) less than a train for this route with tickets for a train from Utrecht to Zurich costing on average $72 (€58).
A bus is $41 (€33) less than a flight for this route with tickets for a flight from Utrecht to Zurich costing on average $75 (€60).
Other travel options to Zurich take longer:
Train takes on average 7h 0m.
Bus takes on average 13h 40m.
- Around 77 flights per day.
- Around 6 trains per day.
- Around 3 buses per day.
However, we recommend checking specific travel dates for your route between Utrecht and Zurich as scheduled services by train, bus, and flight can vary by season or day of the week.
- Flights mostly depart from Amsterdam Airport Schiphol and arrive in Zurich Airport.
- Trains mostly depart from Utrecht Centraal and arrive in Zurich HB.
- Buses mostly depart from Utrecht, Centraal Station and arrive in Kloten, Zürich Flughafen (Bahnhof).
- Travel with Deutsche Bahn, PKP Intercity, ÖBB Nightjet, Intercity to go to Zurich by train.
- Travel with KLM, KLM Cityhopper, SWISS, Edelweiss Air, Eurowings , LAER, Lufthansa Cityline, Lufthansa, Air Baltic to go to Zurich by flight.
- Travel with FlixBus, BlaBlaCar Bus to go to Zurich by bus.
- 0 direct trains per day with ÖBB Nightjet.
- 15 direct flights per day with KLM, KLM Cityhopper, SWISS, Edelweiss Air, Eurowings , LAER, Air Baltic.
Travelling from Utrecht to Zurich: related information
Here are some other resources that might have the information you need

