There are 5 ways to get from Ulm to Zermatt by train, plane, or ferry
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train via Basel
best- Take the train from Ulm Hauptbahnhof to Basel SBBtrain 60
- Take the train from Basel SBB to Visptrain Ic6 / ...
7h 57mCHF 96–396Train, fly to Zurich Airport
- Take the train from Ulm Hauptbahnhof to Hauptbahnhoftrain
- Fly from Stuttgart Airport (STR) to Zurich Airport (ZRH)plane STR - ZRH
- Take the train from Zürich Flughafen to Berntrain
- Take the train from Bern to Visptrain
- Take the train from Visp to Zermatttrain
7h 44mCHF 212–574Train, ferry
- Take the train from Ulm Hauptbahnhof to Friedrichsh. Stadtbahnhoftrain Re5 / ...
- Take the ferry from Friedrichshafen Faehre to Romanshorn Autoquaiferry 197 / ...
- Take the train from Romanshorn to Visptrain Ic8
8h 32mCHF 143–394Train
- Take the train from Ulm Hauptbahnhof to Lindau, Reutin Bahnhoftrain Re3 / ...
- Take the train from St. Margrethen SG to Churtrain
- Take the train from Chur to Zermatt, Bahnhoftrain 907 / ...
11h 10mTrain, fly to Milano Malpensa Airport
- Take the train from Ulm Hauptbahnhof to Hauptbahnhoftrain
- Fly from Stuttgart Airport (STR) to Milano Malpensa Airport (MXP)plane STR - MXP
- Take the train from Gallarate to Domodossolatrain
- Take the train from Brig Bahnhofplatz to Zermatttrain
9h 33mCHF 111–306
Ulm to Zermatt by train
Questions & Answers
The cheapest way to get from Ulm to Zermatt is to train via Basel which costs SFr 95 - SFr 400 and takes 7h 57m.
The fastest way to get from Ulm to Zermatt is to train and fly which takes 7h 44m and costs SFr 210 - SFr 600.
No, there is no direct train from Ulm to Zermatt. However, there are services departing from Ulm Hauptbahnhof and arriving at Zermatt via Basel SBB and Visp. The journey, including transfers, takes approximately 7h 57m.
The distance between Ulm and Zermatt is 597 km.
The best way to get from Ulm to Zermatt without a car is to train via Basel which takes 7h 57m and costs SFr 95 - SFr 400.
It takes approximately 7h 57m to get from Ulm to Zermatt, including transfers.
Ulm to Zermatt train services, operated by Deutsche Bahn Intercity (DB IC), depart from Ulm Hauptbahnhof station.
Ulm to Zermatt train services, operated by Deutsche Bahn Intercity (DB IC), arrive at Basel SBB station.
Book your Ulm to Zermatt train tickets online with Omio.
There are 2308+ hotels available in Zermatt.
What companies run services between Ulm, Germany and Zermatt, Switzerland?
You can take a train from Ulm Hauptbahnhof to Zermatt via Basel SBB and Visp in around 7h 57m.
- Website
- lufthansa.com
Flights from Stuttgart Airport to Zurich Airport
- Ave. Duration
- 45 min
- When
- Every day
- Estimated price
- CHF 65–240
Flights from Stuttgart Airport to Milano Malpensa Airport via Munich
- Ave. Duration
- 2h 45m
- When
- Every day
- Estimated price
- CHF 110–490
- Website
- swiss.com
Flights from Stuttgart Airport to Zurich Airport
- Ave. Duration
- 45 min
- When
- Every day
- Estimated price
- CHF 65–240
- Website
- eurowings.com
Flights from Stuttgart Airport to Milano Malpensa Airport
- Ave. Duration
- 1h
- When
- Monday, Tuesday, Thursday, Wednesday, Friday, and Sunday
- Estimated price
- CHF 70–180
- Phone
- +49 30 311 682904
- Website
- bahn.de
Train from Ulm Hauptbahnhof to Basel SBB
- Ave. Duration
- 3h 37m
- Frequency
- 6 times a week
- Estimated price
- CHF 60–170
- Website
- https://int.bahn.de/en
Train from Ulm Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 46 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 14–40
- Website
- https://int.bahn.de/en
Train from Ulm Hauptbahnhof to Friedrichsh. Stadtbahnhof
- Ave. Duration
- 1h 1m
- Frequency
- 3 times a day
- Estimated price
- CHF 17–45
- Website
- https://int.bahn.de/en
Train from Ulm Hauptbahnhof to Lindau, Reutin Bahnhof
- Ave. Duration
- 1h 41m
- Frequency
- 3 times a day
- Estimated price
- CHF 21–60
- Website
- https://int.bahn.de/en
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Basel SBB to Visp
- Ave. Duration
- 2h 6m
- Frequency
- Hourly
- Estimated price
- CHF 65–190
- Website
- https://www.sbb.ch/en
Train from Zürich Flughafen to Bern
- Ave. Duration
- 1h 19m
- Frequency
- Hourly
- Estimated price
- CHF 40–130
- Website
- https://www.sbb.ch/en
Train from Bern to Visp
- Ave. Duration
- 57 min
- Frequency
- Hourly
- Estimated price
- CHF 30–95
- Website
- https://www.sbb.ch/en
Train from Romanshorn to Visp
- Ave. Duration
- 3h 17m
- Frequency
- Every 4 hours
- Estimated price
- CHF 100–290
- Website
- https://www.sbb.ch/en
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- sbb-deutschland.de
Train from Basel SBB to Visp
- Ave. Duration
- 2h 11m
- Frequency
- 3 times a day
- Estimated price
- CHF 14–19
- Schedules at
- sbb-deutschland.de
- Phone
- +49 30 2970
- Website
- bahn.de
Train from Ulm Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 1h 5m
- Frequency
- Hourly
- Estimated price
- CHF 17–26
- Website
- https://int.bahn.de/en
Train from Ulm Hauptbahnhof to Friedrichsh. Stadtbahnhof
- Ave. Duration
- 1h 5m
- Frequency
- Every 30 minutes
- Estimated price
- CHF 20–30
- Website
- https://int.bahn.de/en
Train from Ulm Hauptbahnhof to Lindau, Reutin Bahnhof
- Ave. Duration
- 1h 36m
- Frequency
- Hourly
- Estimated price
- CHF 24–40
- Website
- https://int.bahn.de/en
- Phone
- +49 711 400 534 44
- stuttgart@arverio.de
- Website
- arverio-by.de
Train from Ulm Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- CHF 13–20
- Schedules at
- arverio-by.de
- Phone
- +49 711 400 534 44
- stuttgart@arverio.de
- Website
- arverio-bw.de
Train from Ulm Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 1h 33m
- Frequency
- Hourly
- Estimated price
- CHF 14–26
- Schedules at
- arverio-bw.de
- 2nd Class Ticket
- CHF 14–17
- 1st Class Ticket
- CHF 18–26
- Phone
- +43 1 89900
- service@westbahn.at
- Website
- westbahn.at
Train from Ulm Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 57 min
- Frequency
- 4 times a day
- Estimated price
- CHF 15–28
- Website
- https://westbahn.at/en/
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from Ulm Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 46 min
- Frequency
- Once daily
- Estimated price
- CHF 9–20
- Website
- https://www.ns.nl/en
- Phone
- +49 731 1550-0
- servicecenter@dbregiobus-rab.de
- Website
- meine-rab.de
Train from Ulm Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 1h 54m
- Frequency
- Twice a week
- Estimated price
- CHF 11–15
- Schedules at
- meine-rab.de
Train from Ulm Hauptbahnhof to Friedrichsh. Stadtbahnhof
- Ave. Duration
- 1h 16m
- Frequency
- 3 times a week
- Estimated price
- CHF 13–17
- Schedules at
- meine-rab.de
- Phone
- +41 (0)848 642 442
- railcenter@mgbahn.ch
- Website
- matterhorngotthardbahn.ch
Train from Visp to Zermatt
- Ave. Duration
- 1h 6m
- Frequency
- Hourly
- Estimated price
- CHF 20–45
- Website
- https://www.matterhorngotthardbahn.ch/en/
- 2nd Class Ticket
- CHF 20–25
- 1st Class Ticket
- CHF 35–45
Train from Brig Bahnhofplatz to Zermatt
- Ave. Duration
- 1h 28m
- Frequency
- Hourly
- Estimated price
- CHF 25–55
- Website
- https://www.matterhorngotthardbahn.ch/en/
- 2nd Class Ticket
- CHF 25–31
- 1st Class Ticket
- CHF 45–55
- Phone
- +41 58 580 70 70
- Website
- sob.ch
Train from St. Margrethen SG to Chur
- Ave. Duration
- 1h 2m
- Frequency
- Hourly
- Estimated price
- CHF 27–40
- Schedules at
- sob.ch
- Phone
- +41 81 288 65 65
- info@glacierexpress.ch
- Website
- glacierexpress.ch
Train from Chur to Zermatt, Bahnhof
- Ave. Duration
- 5h 35m
- Frequency
- 3 times a day
- Schedules at
- glacierexpress.ch
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Gallarate to Domodossola
- Ave. Duration
- 1h 2m
- Frequency
- Every 2 hours
- Estimated price
- CHF 5–8
- Website
- https://www.trenord.it/en/
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Gallarate to Domodossola
- Ave. Duration
- 1h 41m
- Frequency
- Every 4 hours
- Estimated price
- CHF 9–16
- Website
- https://www.trenitalia.com/en.html
- Phone
- +49 (0) 7531 3640-0
- info@bsb.de
- Website
- bsb.de
Ferry from Friedrichshafen Faehre to Romanshorn Autoquai
- Ave. Duration
- 46 min
- Frequency
- Every 4 hours
- Estimated price
- CHF 8–11
- Schedules at
- bsb.de
- Phone
- +41 71 466 78 88
- info@sbsag.ch
- Website
- bodensee-schiffe.ch
Ferry from Friedrichshafen Faehre to Romanshorn Autoquai
- Ave. Duration
- 46 min
- Frequency
- Every 4 hours
- Schedules at
- bodensee-schiffe.ch
Want to know more about travelling around Switzerland
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
Italy Travel Guides
Read the travel guide































































