There are 8 ways to get from Heidelberg to Zermatt by train, bus, car or plane

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Train  •  7 h 10 min

  1. Take the train from Mannheim Hbf to Basel SBB Ice / ...
  2. Take the train from Basel SBB to Visp 6 / ...
  3. Take the train from Visp to Zermatt

$152 - $272

Cheapest option

Bus FlixBus, train  •  8 h 28 min

  1. Take the bus from Heidelberg to Bern 122
  2. Take the train from Bern to Visp 8 / ...

$72 - $146

6 alternative options

Bus Ouibus, train  •  11 h 47 min

  1. Take the bus from Mannheim to Winterthur Ouibus
  2. Take the train from Winterthur to Visp 8

$113 - $211

Drive  •  5 h 26 min

  1. Drive from Heidelberg to Zermatt 293.7 miles

$60 - $90

Train to Frankfurt, fly to Geneva, train  •  8 h 58 min

  1. Take the train from Mannheim Hbf to Frankfurt(M) Flughafen Fernbf
  2. Fly from Frankfurt (FRA) to Geneva (GVA) FRA - GVA
  3. Take the train from Genève-Aéroport to Visp
  4. Take the train from Visp to Zermatt

$184 - $457

Train to Frankfurt, fly to Milan Malpensa, bus, train  •  9 h 9 min

  1. Take the train from Mannheim Hbf to Frankfurt(M) Flughafen Fernbf
  2. Fly from Frankfurt (FRA) to Milan Malpensa (MXP) FRA - MXP
  3. Take the bus from Malpensa, aeroporto to Domodossola, Stazione
  4. Take the train from Brig Bahnhofplatz to Zermatt

$187 - $429

Train to Stuttgart, fly to Milan Malpensa, bus, train  •  9 h 18 min

  1. Take the train from Heidelberg Hbf to Stuttgart Hbf
  2. Fly from Stuttgart (STR) to Milan Malpensa (MXP) STR - MXP
  3. Take the bus from Malpensa, aeroporto to Domodossola, Stazione
  4. Take the train from Brig Bahnhofplatz to Zermatt

$134 - $313

Train to Frankfurt, fly to Milan Linate, train  •  9 h 37 min

  1. Take the train from Mannheim Hbf to Frankfurt(M) Flughafen Fernbf
  2. Fly from Frankfurt (FRA) to Milan Linate (LIN) FRA - LIN
  3. Take the train from Milano Centrale to Brig
  4. Take the train from Brig Bahnhofplatz to Zermatt

$171 - $448

Questions & Answers

The cheapest way to get from Heidelberg to Zermatt is to drive which costs 50€ - 80€ and takes 5 h 26 min.

More details

The quickest way to get from Heidelberg to Zermatt is to drive which costs 50€ - 80€ and takes 5 h 26 min.

More details

The distance between Heidelberg and Zermatt is 383 km. The road distance is 469.8 km.

Get driving directions

It takes approximately 7 h 10 min to get from Heidelberg to Zermatt, including transfers.

More details

No, there is no direct train from Heidelberg to Zermatt. However, there are services departing from Heidelberg Hbf and arriving at Zermatt via Mannheim Hbf, Basel SBB and Visp. The journey, including transfers, takes approximately 7 h 10 min.

More details

What companies run services between Heidelberg, Germany and Zermatt, Switzerland?

You can take a train from Heidelberg to Zermatt via Mannheim Hbf, Basel SBB, and Visp in around 7 h 10 min.

Airlines
Lufthansa
Website
lufthansa.com
Flights from Frankfurt to Geneva
Ave. Duration
1 h 5 min
When
Every day
Estimated price
$140 - $600
Flights from Frankfurt to Geneva via Zurich
Ave. Duration
2 h 48 min
When
Every day
Estimated price
$140 - $600
Flights from Frankfurt to Milan Malpensa
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$160 - $600
Flights from Frankfurt to Milan Malpensa via Munich
Ave. Duration
3 h 5 min
When
Every day
Estimated price
$150 - $500
Flights from Stuttgart to Milan Malpensa via Frankfurt
Ave. Duration
2 h 57 min
When
Every day
Estimated price
$190 - $650
Flights from Stuttgart to Milan Malpensa via Munich
Ave. Duration
3 h 2 min
When
Every day
Estimated price
$150 - $450
Flights from Frankfurt to Milan Linate
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$160 - $600
Swiss
Website
swiss.com
Flights from Frankfurt to Geneva
Ave. Duration
1 h 5 min
When
Every day
Estimated price
$140 - $600
Flights from Frankfurt to Geneva via Zurich
Ave. Duration
2 h 48 min
When
Every day
Estimated price
$140 - $600
Flights from Frankfurt to Milan Malpensa via Zurich
Ave. Duration
2 h 50 min
When
Every day
Estimated price
$160 - $600
Flights from Stuttgart to Milan Malpensa via Zurich
Ave. Duration
2 h 38 min
When
Every day
Estimated price
$190 - $700
Eurowings
Website
eurowings.com
Flights from Stuttgart to Milan Malpensa
Ave. Duration
1 h 15 min
When
Every day
Estimated price
$40 - $310
Alitalia
Website
alitalia.com
Flights from Frankfurt to Milan Linate
Ave. Duration
1 h 15 min
When
Every day
Estimated price
$170 - $750
Luxair
Website
luxair.lu
Flights from Frankfurt to Geneva via Luxembourg
Ave. Duration
2 h 50 min
When
Monday, Friday and Sunday
Estimated price
$1,000 - $2,700
Flights from Frankfurt to Milan Malpensa via Luxembourg
Ave. Duration
3 h
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
$1,000 - $2,400
easyJet
Website
easyjet.com
Flights from Stuttgart to Milan Malpensa
Ave. Duration
1 h 5 min
When
Monday, Wednesday, Friday and Sunday
Estimated price
$35 - $200
Train operators
Deutsche Bahn
Phone
+49 0180 6 99 66 33
Website
bahn.com
Train from Mannheim Hbf to Basel SBB
Ave. Duration
2 h 11 min
Frequency
Hourly
Estimated price
$60 - $100
Website
bahn.de
Train from Mannheim Hbf to Frankfurt(M) Flughafen Fernbf
Ave. Duration
30 min
Frequency
Every 30 minutes
Estimated price
$22 - $35
Website
bahn.de
Train from Heidelberg Hbf to Stuttgart Hbf
Ave. Duration
40 min
Frequency
Hourly
Estimated price
$25 - $40
Website
bahn.de
Swiss Railways (SBB/CFF/FFS)
Website
sbb.ch
Train from Basel SBB to Visp
Ave. Duration
2 h
Frequency
Hourly
Estimated price
$60 - $110
Website
fahrplan.sbb.ch
Schedules at
fahrplan.sbb.ch
Train from Bern to Visp
Ave. Duration
56 min
Frequency
Hourly
Estimated price
$30 - $65
Website
fahrplan.sbb.ch
Schedules at
fahrplan.sbb.ch
Train from Winterthur to Visp
Ave. Duration
2 h 37 min
Frequency
Hourly
Estimated price
$75 - $140
Website
fahrplan.sbb.ch
Schedules at
fahrplan.sbb.ch
Train from Genève-Aéroport to Visp
Ave. Duration
2 h 22 min
Frequency
Hourly
Estimated price
$60 - $110
Website
fahrplan.sbb.ch
Schedules at
fahrplan.sbb.ch
MGB
Website
matterhorngotthardbahn.ch
Train from Visp to Zermatt
Ave. Duration
1 h 10 min
Frequency
Hourly
Estimated price
$20 - $45
Website
matterhorngotthardbahn.ch
Schedules at
fahrplan.sbb.ch
2nd Class Ticket
$20 - $25
1st Class Ticket
$35 - $45
Train from Brig Bahnhofplatz to Zermatt
Ave. Duration
1 h 24 min
Frequency
Hourly
Estimated price
$26 - $55
Website
matterhorngotthardbahn.ch
Schedules at
fahrplan.sbb.ch
2nd Class Ticket
$26 - $31
1st Class Ticket
$45 - $55
Flixtrain
Website
flixtrain.com
Train from Heidelberg, Heidelberg central station to Stuttgart, Stuttgart central station
Ave. Duration
44 min
Frequency
Twice daily
Schedules at
flixtrain.com
Bus operators
FlixBus
Rome2rio's guide to FlixBus
Contact Details
Phone
+49 1807 123 99 123
Email
info@flixbus.de
Website
flixbus.de
Bus from Heidelberg to Bern
Ave. Duration
5 h 25 min
Frequency
Once daily
Estimated price
$20 - $35
Website
flixbus.co.uk
Ouibus
Phone
0890715298
Website
ouibus.com
Bus from Mannheim to Winterthur
Ave. Duration
5 h 35 min
Frequency
Every 15 minutes
Estimated price
$12 - $18
Website
Ouibus
Swiss PostAuto
Email
info@postauto.ch
Website
postauto.ch
Bus from Malpensa, aeroporto to Domodossola, Stazione
Ave. Duration
1 h 20 min
Frequency
Every 4 hours
Estimated price
$35 - $55
Schedules at
fahrplan.sbb.ch
Autoservizi Comazzi srl
Phone
0322 844 862
Email
comazzi@comazzibus.com
Website
comazzibus.com
Bus from Malpensa Airport T1 to Domodossola
Ave. Duration
1 h 15 min
Frequency
Every 4 hours
Estimated price
$10 - $18
Schedules at
comazzibus.com

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.

Where to next?