There are 8 ways to get from Heidelberg to Pavia by train, plane, bus, night train, or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train to Stuttgart Airport, fly to Milan Linate Airport, train
best- Take the train from Heidelberg, Hauptbahnhof to Hauptbahnhoftrain
- Fly from Stuttgart Airport (STR) to Milan Linate Airport (LIN)plane STR - LIN
- Take the train from Milano Dateo to Paviatrain
5h 42m€121–348Train to Frankfurt, fly to Milan Linate Airport, train
cheapest- Take the train from Mannheim, Hauptbahnhof to Frankfurttrain
- Fly from Frankfurt (FRA) to Milan Linate Airport (LIN)plane FRA - LIN
- Take the train from Milano Dateo to Paviatrain
5h 54m€49–200Train
- Take the train from Mannheim, Hauptbahnhof to Basel SBBtrain 12 / ...
- Take the train from Basel SBB to Luganotrain Ec
- Take the train from Lugano to Milano Centraletrain
9h 46m€79–286Bus
- Take the bus from Heidelberg Post Waypoint to Zurich Bus Stationbus FlixBus N33 / ...
- Take the bus from ZÜRICH, Carparkplatz am Sihlquai to Milano - Famagostabus
9h 47m€95–135Night train, train
- Take the nighttrain from Heidelberg Hbf to Zuerich Hbnighttrain Nj
- Take the train from Zürich HB to Como S. Giovannitrain Ec
- Take the train from Como S.Giovanni to Milano Porta Garibalditrain S11
10h 32m€98–232Train to Frankfurt, fly to Milano Malpensa Airport, train
- Take the train from Mannheim, Hauptbahnhof to Frankfurttrain
- Fly from Frankfurt (FRA) to Milano Malpensa Airport (MXP)plane FRA - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Bovisa Politecnicotrain
- Take the train from Milano Bovisa Politecnico to Paviatrain
6h 48m€78–234Train, bus to Luxembourg, fly to Milan Linate Airport
- Take the train from Mannheim, Hauptbahnhof to Saarbrücken Hbftrain
- Take the bus from Saarbrücken Hbf to Luxembourgbus
- Fly from Luxembourg (LUX) to Milan Linate Airport (LIN)plane LUX - LIN
8h 56mDrive 610 km
- Drive from Heidelberg to Paviacar 610 km
6h 3m€115–167
Heidelberg to Pavia by train
Comparing Your Travel Options
The cheapest way to get from Heidelberg to Pavia is to train and fly which costs €45 - €200 and takes 5h 54m.
The fastest way to get from Heidelberg to Pavia is to train and fly which takes 5h 42m and costs €120 - €350.
No, there is no direct bus from Heidelberg to Pavia. However, there are services departing from Heidelberg Post Waypoint and arriving at Pavia via ZÜRICH, Carparkplatz am Sihlquai and Milano - Famagosta. The journey, including transfers, takes approximately 9h 47m.
No, there is no direct train from Heidelberg to Pavia. However, there are services departing from Heidelberg, Hauptbahnhof and arriving at Pavia via Mannheim, Hauptbahnhof, Basel SBB, Lugano and Milano Centrale. The journey, including transfers, takes approximately 9h 46m.
The distance between Heidelberg and Pavia is 509 km. The road distance is 610 km.
The best way to get from Heidelberg to Pavia without a car is to train which takes 9h 46m and costs €75 - €290.
It takes approximately 5h 42m to get from Heidelberg to Pavia, including transfers.
Heidelberg to Pavia bus services, operated by FlixBus, depart from Heidelberg Post Waypoint station.
Heidelberg to Pavia train services, operated by Deutsche Bahn Intercity (DB IC), depart from Mannheim, Hauptbahnhof station.
The best way to get from Heidelberg to Pavia is to train which takes 9h 46m and costs €75 - €290. Alternatively, you can bus, which costs €90 - €140 and takes 9h 47m.
What companies run services between Heidelberg, Germany and Pavia, Italy?
You can take a train from Heidelberg, Hauptbahnhof to Pavia via Mannheim, Hauptbahnhof, Basel SBB, Lugano, and Milano Centrale in around 9h 46m. Alternatively, you can take a bus from Heidelberg Post Waypoint to Pavia via ZÜRICH, Carparkplatz am Sihlquai and Milano - Famagosta in around 9h 47m.
- Website
- lufthansa.com
Flights from Stuttgart Airport to Milan Linate Airport via Munich
- Ave. Duration
- 2h 45m
- When
- Monday, Tuesday, Wednesday, Thursday, and Sunday
- Estimated price
- €130–310
Flights from Frankfurt to Milan Linate Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €55–450
Flights from Frankfurt to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €75–380
Flights from Frankfurt to Milano Malpensa Airport via Munich
- Ave. Duration
- 3h 13m
- When
- Every day
- Estimated price
- €75–400
Flights from Luxembourg to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 22m
- When
- Every day
- Estimated price
- €90–490
- Website
- airdolomiti.it
Flights from Frankfurt to Milan Linate Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €55–450
Flights from Frankfurt to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €130–380
Flights from Luxembourg to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 15m
- When
- Every day
- Estimated price
- €160–490
- Website
- easyjet.com
Flights from Frankfurt to Milan Linate Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €30–140
Flights from Luxembourg to Milan Linate Airport
- Ave. Duration
- 1h 15m
- When
- Monday, Wednesday, Thursday, and Sunday
- Estimated price
- €30–150
- Website
- condor.com
Flights from Frankfurt to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €55–160
- Website
- luxair.lu
Flights from Luxembourg to Milan Linate Airport
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- €60–310
- Website
- eurowings.com
Flights from Stuttgart Airport to Milan Linate Airport
- Ave. Duration
- 1h 5m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €90–260
- Website
- swiss.com
Flights from Frankfurt to Milano Malpensa Airport via Zurich
- Ave. Duration
- 2h 55m
- When
- Every day
- Estimated price
- €75–190
- Phone
- +49 30 2970
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Heidelberg, Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 47 min
- Frequency
- Hourly
- Estimated price
- €15–35
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Mannheim, Hauptbahnhof to Basel SBB
- Ave. Duration
- 2h 12m
- Frequency
- Hourly
- Estimated price
- €40–90
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Mannheim, Hauptbahnhof to Frankfurt
- Ave. Duration
- 31 min
- Frequency
- Hourly
- Estimated price
- €12–26
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Mannheim, Hauptbahnhof to Frankfurt
- Ave. Duration
- 31 min
- Frequency
- Hourly
- Estimated price
- €12–26
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Mannheim, Hauptbahnhof to Saarbrücken Hbf
- Ave. Duration
- 1h 19m
- Frequency
- Every 4 hours
- Estimated price
- €22–50
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Heidelberg, Hauptbahnhof to Hauptbahnhof
- Ave. Duration
- 2h 6m
- Frequency
- Once a week
- Estimated price
- €13–16
- Schedules at
- DB ZugBus Regionalverkehr Alb-Bodensee GmbH (RAB)
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- Trenord
Train from Milano Dateo to Pavia
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- €3–5
- Website
- Trenord
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 1h 1m
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- Trenord
Train from Milano Dateo to Pavia
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- €3–5
- Website
- Trenord
Train from Malpensa Aeroporto T1 to Milano Bovisa Politecnico
- Ave. Duration
- 30 min
- Frequency
- Every 20 minutes
- Estimated price
- €4–6
- Website
- Trenord
Train from Milano Bovisa Politecnico to Pavia
- Ave. Duration
- 1h
- Frequency
- Hourly
- Estimated price
- €4–5
- Website
- Trenord
- Phone
- +31 30 751 5155
- Website
- Nederlandse Spoorwegen (NS)
Train from Mannheim, Hauptbahnhof to Basel SBB
- Ave. Duration
- 2h 50m
- Frequency
- Once daily
- Estimated price
- €27–55
- Website
- Nederlandse Spoorwegen (NS)
Train from Mannheim, Hauptbahnhof to Frankfurt
- Ave. Duration
- 31 min
- Frequency
- Once daily
- Estimated price
- €7–15
- Website
- Nederlandse Spoorwegen (NS)
Train from Mannheim, Hauptbahnhof to Frankfurt
- Ave. Duration
- 31 min
- Frequency
- Once daily
- Estimated price
- €7–15
- Website
- Nederlandse Spoorwegen (NS)
Train from Basel SBB to Lugano
- Ave. Duration
- 2h 54m
- Frequency
- Every 3 hours
- Estimated price
- €80–130
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Lugano to Milano Centrale
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- €25–40
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Zürich HB to Como S. Giovanni
- Ave. Duration
- 2h 35m
- Frequency
- Hourly
- Estimated price
- €65–110
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 1h 2m
- Frequency
- Once daily
- Estimated price
- €15–25
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +49 (0) 7531 915109
- [email protected]
- Website
- SBB GmbH
Train from Basel SBB to Lugano
- Ave. Duration
- 3h 21m
- Frequency
- Once daily
- Estimated price
- €20–25
- Schedules at
- SBB GmbH
- Phone
- +43 (0) 51717
- Website
- Nightjet
Night train from Heidelberg Hbf to Zuerich Hb
- Ave. Duration
- 4h 31m
- Frequency
- Twice daily
- Estimated price
- €26–95
- Website
- Nightjet
- Sleeper Carriage
- €92–95
- Couchette Carriage
- €55–70
- Seating Carriage
- €26–32
- Phone
- +49 621 830 1200
- Website
- Süwex
Train from Mannheim, Hauptbahnhof to Saarbrücken Hbf
- Ave. Duration
- 1h 36m
- Frequency
- Every 2 hours
- Estimated price
- €22–30
- Schedules at
- Süwex
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Heidelberg Post Waypoint to Zurich Bus Station
- Ave. Duration
- 5h 39m
- Frequency
- 5 times a day
- Estimated price
- €30–50
- Website
- Flixbus
- Phone
- +39 0362 185 0590
- [email protected]
- Website
- Onebus
Bus from ZÜRICH, Carparkplatz am Sihlquai to Milano - Famagosta
- Ave. Duration
- 2h 22m
- Frequency
- Once a week
- Estimated price
- €60–85
- Website
- Onebus
- Phone
- +352 24 89 24 89
- Website
- Luxembourg Railways (CFL)
Bus from Saarbrücken Hbf to Luxembourg
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Website
- Luxembourg Railways (CFL)
Want to know more about travelling around Italy
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
Italy Travel Guides
Read the travel guide
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
Getting to Milan from the airport
Read the travel guide
Booking & Getting There
Heidelberg to Pavia bus services, operated by FlixBus, arrive at Zurich Bus Station.
Heidelberg to Pavia train services, operated by Deutsche Bahn Intercity (DB IC), arrive at Basel SBB station.
Yes, the driving distance between Heidelberg to Pavia is 610 km. It takes approximately 6h 3m to drive from Heidelberg to Pavia.
Book your Heidelberg to Pavia train tickets online with Omio.
There are 621+ hotels available in Pavia.


































