Journey information
Overview: Milan to Heidelberg flight
Flights from Milan to Heidelberg depart on average 93 times per day, taking around 1h 26m. Cheap flight tickets for this journey start at $22 (€18) if you book in advance.
There are 26 flights per day. The earliest flight runs at 02:26, the last at 23:55. The fastest flight covers the 273 miles (440 km) distance in 1h 5m. September is the cheapest month to fly.
Distance 273 miles (440 km) |
Average flight duration 1h 26m |
Cheapest ticket price $22 (€18) |
Flights per day 93 |
Direct flights 26 |
Fastest flight 1h 5m |
Cheapest month to travel September |
First flight 02:26 |
Last flight 23:55 |
The cheapest and fastest flights from Milan to Heidelberg
Cheapest price
$26
Average price
$465
Fastest journey
1 h 10 m
Average duration
1 h 13 m
Flights per day
108
Distance
440 km
The best way to find a cheap flight ticket from Milan to Heidelberg is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Milan to Heidelberg will cost around $465 if you buy it on the day, but the cheapest tickets can be found for only $26.
Of the 108 flights that leave Milan for Heidelberg onTue, Dec 23, 21 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Tue, Dec 23 the direct flights cover the 440 km distance in an average of 1 h 13 m but if you time it right, some flights will get you there in just 1 h 10 m .
On Tue, Dec 23 the longest flights will take 1 h 15 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.
FR 7969
U21967
U21969
U21967+
ICE 15 · ICE 1577
U21967+
ICE 225 · S3
DE4358
DE4354
EN8803
LH279
LH6905Milan - HeidelbergCompare Eurowings , ITA, easyJet, Lufthansa, Air Dolomiti





Travel Information
Compare train, bus, and flight for Milan to Heidelberg
Omio recommends booking the bus as it is the most popular option from Milan to Heidelberg among Omio's users. If you are prioritising price take the bus with prices starting from €30. For those with little time consider booking a flight which can get you there in 1h 26m. In case you are seeking to minimise your carbon footprint the bus is your best bet as it emits only 0.4 - 1.1kg. The ticket price range depends on the travel mode: a bus costs an average of €30, and a train costs an average of €57.
Distance: 273 miles (440 km)
Compare flight with
| Flight | Most popular Bus | Train |
|---|---|---|
€69 Average price | €51 Average price Cheapest | €113 Average price |
4h 26m Average total duration Fastest 1h 26m Onboard + 3h 0m Additional time* | 13h 59m Average total duration 13h 29m Onboard + 30m Additional time* | 7h 13m Average total duration 6h 43m Onboard + 30m Additional time* |
1.3 - 2.6kg CO2 emissions | 0.4 - 1.1kg CO2 emissions Lowest | - CO2 emissions |
![]() Most popular airline | ![]() Most popular bus company | ![]() Most popular train company |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Live departures
Milan to Heidelberg flight times
The table below shows live departures for Milan to Heidelberg flights for today, Monday, December 22. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
OS530 · OS207 | 6:20 AM Milan Linate Airport | 4h40 | 11:00 AM Frankfurt am Main Airport | 1 transfer | |
DE4358+ ICE 225 · S3 | 6:55 AM Milan Malpensa Airport | 5h21 | 12:16 PM Heidelberg Hbf | 2 transfers | |
DE4358 | 6:55 AM Milan Malpensa Airport | 1h10 | 8:05 AM Frankfurt am Main Airport | 0 transfersDirect | |
DE4358+ ICE 105 · 19273 | 6:55 AM Milan Malpensa Airport | 4h53 | 11:48 AM Heidelberg Hbf | 2 transfers | |
DE4358+ ICE 15 · ICE 1577 | 6:55 AM Milan Malpensa Airport | 6h46 | 1:41 PM Heidelberg Hbf | 2 transfers | |
AZ2055 · AZ404 | 7:30 AM Milan Linate Airport | 8h40 | 4:10 PM Frankfurt am Main Airport | 1 transfer | |
QR124 · QR71 | 7:55 AM Milan Malpensa Airport | 35h35 | 7:30 PM Frankfurt am Main Airport | 1 transfer | |
QR124 · QR67 | 7:55 AM Milan Malpensa Airport | 28h25 | 12:20 PM Frankfurt am Main Airport | 1 transfer | |
QR124 · QR69 | 7:55 AM Milan Malpensa Airport | 21h55 | 5:50 AM Frankfurt am Main Airport | 1 transfer | |
LH249+ ICE 225 · S3 | 8:10 AM Milan Malpensa Airport | 4h06 | 12:16 PM Heidelberg Hbf | 2 transfers | |
LH249 | 8:10 AM Milan Malpensa Airport | 1h20 | 9:30 AM Frankfurt am Main Airport | 0 transfersDirect | |
LH249+ ICE 15 · ICE 1577 | 8:10 AM Milan Malpensa Airport | 5h31 | 1:41 PM Heidelberg Hbf | 2 transfers | |
LH249 · LH130 | 8:10 AM Milan Malpensa Airport | 4h15 | 12:25 PM Stuttgart Airport | 1 transfer | |
LH249+ ICE 105 · 19273 | 8:10 AM Milan Malpensa Airport | 3h38 | 11:48 AM Heidelberg Hbf | 2 transfers | |
AZ2029 · AZ404 | 8:30 AM Milan Linate Airport | 7h40 | 4:10 PM Frankfurt am Main Airport | 1 transfer | |
LH1851+ LH2146 | 8:45 AM Milan Linate Airport | 3h00 | 11:45 AM Stuttgart Airport | 1 transfer | |
LH1851 · LH105 | 8:45 AM Milan Linate Airport | 3h15 | 12:00 PM Frankfurt am Main Airport | 1 transfer | |
LH9513+ LH105+ ICE 201 · 19245 | 8:50 AM Milan Malpensa Airport | 8h58 | 5:48 PM Heidelberg Hbf | 3 transfers | |
LH9513+ LH105 | 8:50 AM Milan Malpensa Airport | 3h10 | 12:00 PM Frankfurt am Main Airport | 1 transfer | |
LH9513+ LH2146 | 8:50 AM Milan Malpensa Airport | 2h55 | 11:45 AM Stuttgart Airport | 1 transfer | |
LH9513+ LH105+ ICE 17 · ICE 1671 | 8:50 AM Milan Malpensa Airport | 8h51 | 5:41 PM Heidelberg Hbf | 3 transfers | |
LH9513+ LH105+ ICE 611 · S3 | 8:50 AM Milan Malpensa Airport | 7h55 | 4:45 PM Heidelberg Hbf | 3 transfers | |
VY6331 · VY1866 | 9:10 AM Milan Malpensa Airport | 10h05 | 7:15 PM Stuttgart Airport | 1 transfer | |
VY6333 · VY1866 | 9:20 AM Milan Malpensa Airport | 9h55 | 7:15 PM Stuttgart Airport | 1 transfer | |
AZ2045 · AZ404 | 9:30 AM Milan Linate Airport | 6h40 | 4:10 PM Frankfurt am Main Airport | 1 transfer | |
LX1613+ LX1168 | 9:40 AM Milan Malpensa Airport | 3h10 | 12:50 PM Stuttgart Airport | 1 transfer | |
EN8801+ ICE 15 · ICE 1577 | 9:45 AM Milan Linate Airport | 3h56 | 1:41 PM Heidelberg Hbf | 2 transfers | |
LH6905 | 9:45 AM Milan Linate Airport | 1h15 | 11:00 AM Frankfurt am Main Airport | 0 transfersDirect | |
EN8801 | 9:45 AM Milan Linate Airport | 1h15 | 11:00 AM Frankfurt am Main Airport | 0 transfersDirect | |
EN8801+ ICE 107 · 19277 | 9:45 AM Milan Linate Airport | 4h03 | 1:48 PM Heidelberg Hbf | 2 transfers | |
LH6905+ ICE 15 · ICE 1577 | 9:45 AM Milan Linate Airport | 3h56 | 1:41 PM Heidelberg Hbf | 2 transfers | |
DE4354+ ICE 17 · ICE 1671 | 10:30 AM Milan Malpensa Airport | 7h11 | 5:41 PM Heidelberg Hbf | 2 transfers | |
DE4354+ ICE 611 · S3 | 10:30 AM Milan Malpensa Airport | 6h15 | 4:45 PM Heidelberg Hbf | 2 transfers | |
DE4354 | 10:30 AM Milan Malpensa Airport | 1h10 | 11:40 AM Frankfurt am Main Airport | 0 transfersDirect | |
DE4354+ ICE 201 · 19245 | 10:30 AM Milan Malpensa Airport | 7h18 | 5:48 PM Heidelberg Hbf | 2 transfers | |
LH247 | 10:35 AM Milan Malpensa Airport | 1h20 | 11:55 AM Frankfurt am Main Airport | 0 transfersDirect | |
AF1831+ AF1018 | 10:35 AM Milan Malpensa Airport | 10h30 | 9:05 PM Frankfurt am Main Airport | 1 transfer | |
AF1831+ AF1618 | 10:35 AM Milan Malpensa Airport | 23h40 | 10:15 AM Frankfurt am Main Airport | 1 transfer | |
AF1831+ AF1318 | 10:35 AM Milan Malpensa Airport | 5h10 | 3:45 PM Frankfurt am Main Airport | 1 transfer | |
AF1131+ AF1018 | 11:35 AM Milan Malpensa Airport | 9h30 | 9:05 PM Frankfurt am Main Airport | 1 transfer | |
AF1131+ AF1618 | 11:35 AM Milan Malpensa Airport | 22h40 | 10:15 AM Frankfurt am Main Airport | 1 transfer | |
AF1131+ ICE 613 · S3+ AF1318 | 11:35 AM Milan Malpensa Airport | 7h10 | 6:45 PM Heidelberg Hbf | 3 transfers | |
AF1131+ AF1318 | 11:35 AM Milan Malpensa Airport | 4h10 | 3:45 PM Frankfurt am Main Airport | 1 transfer | |
AF1131+ ICE 1013 · S3+ AF1318 | 11:35 AM Milan Malpensa Airport | 6h41 | 6:16 PM Heidelberg Hbf | 3 transfers | |
AZ2133 · AZ404 | 12:00 PM Milan Linate Airport | 4h10 | 4:10 PM Frankfurt am Main Airport | 1 transfer | |
VF62 · VF33 | 12:15 PM Milan Bergamo Orio al Serio Airport | 23h30 | 11:45 AM Frankfurt am Main Airport | 1 transfer | |
VF62 · VF45 | 12:15 PM Milan Bergamo Orio al Serio Airport | 22h45 | 11:00 AM Stuttgart Airport | 1 transfer | |
LH5669+ ICE 17 · ICE 1671 | 12:45 PM Milan Linate Airport | 4h56 | 5:41 PM Heidelberg Hbf | 2 transfers | |
LH5669 | 12:45 PM Milan Linate Airport | 1h15 | 2:00 PM Frankfurt am Main Airport | 0 transfersDirect | |
LH5669+ ICE 611 · S3 | 12:45 PM Milan Linate Airport | 4h00 | 4:45 PM Heidelberg Hbf | 2 transfers | |
LH5669+ LH132 | 12:45 PM Milan Linate Airport | 4h10 | 4:55 PM Stuttgart Airport | 1 transfer | |
EN8805+ ICE 17 · ICE 1671 | 12:45 PM Milan Linate Airport | 4h56 | 5:41 PM Heidelberg Hbf | 2 transfers | |
EN8805 | 12:45 PM Milan Linate Airport | 1h15 | 2:00 PM Frankfurt am Main Airport | 0 transfersDirect | |
EN8811+ ICE 17 · ICE 1671 | 1:40 PM Milan Malpensa Airport | 4h01 | 5:41 PM Heidelberg Hbf | 2 transfers | |
LH5637+ ICE 17 · ICE 1671 | 1:40 PM Milan Malpensa Airport | 4h01 | 5:41 PM Heidelberg Hbf | 2 transfers | |
LH5637+ LH132 | 1:40 PM Milan Malpensa Airport | 3h15 | 4:55 PM Stuttgart Airport | 1 transfer | |
EN8811+ ICE 201 · 19245 | 1:40 PM Milan Malpensa Airport | 4h08 | 5:48 PM Heidelberg Hbf | 2 transfers | |
LH5637 | 1:40 PM Milan Malpensa Airport | 1h20 | 3:00 PM Frankfurt am Main Airport | 0 transfersDirect | |
EN8811 | 1:40 PM Milan Malpensa Airport | 1h20 | 3:00 PM Frankfurt am Main Airport | 0 transfersDirect | |
LH281+ ICE 201 · 19245 | 1:50 PM Milan Linate Airport | 3h58 | 5:48 PM Heidelberg Hbf | 2 transfers | |
LH281+ LH132 | 1:50 PM Milan Linate Airport | 3h05 | 4:55 PM Stuttgart Airport | 1 transfer | |
LH281 | 1:50 PM Milan Linate Airport | 1h15 | 3:05 PM Frankfurt am Main Airport | 0 transfersDirect | |
LH281+ ICE 1013 · S3 | 1:50 PM Milan Linate Airport | 4h26 | 6:16 PM Heidelberg Hbf | 2 transfers | |
LH281+ ICE 613 · S3 | 1:50 PM Milan Linate Airport | 4h55 | 6:45 PM Heidelberg Hbf | 2 transfers | |
VY6339 · VY1866 | 2:00 PM Milan Malpensa Airport | 5h15 | 7:15 PM Stuttgart Airport | 1 transfer | |
QR128 · QR69 | 2:10 PM Milan Malpensa Airport | 15h40 | 5:50 AM Frankfurt am Main Airport | 1 transfer | |
QR128 · QR67 | 2:10 PM Milan Malpensa Airport | 22h10 | 12:20 PM Frankfurt am Main Airport | 1 transfer | |
QR128 · QR71 | 2:10 PM Milan Malpensa Airport | 29h20 | 7:30 PM Frankfurt am Main Airport | 1 transfer | |
AF1331+ AF1618 | 2:55 PM Milan Malpensa Airport | 19h20 | 10:15 AM Frankfurt am Main Airport | 1 transfer | |
AF1331+ AF1018 | 2:55 PM Milan Malpensa Airport | 6h10 | 9:05 PM Frankfurt am Main Airport | 1 transfer | |
AF1331+ AF1318 | 2:55 PM Milan Malpensa Airport | 24h50 | 3:45 PM Frankfurt am Main Airport | 1 transfer | |
DE4356 | 3:45 PM Milan Malpensa Airport | 1h10 | 4:55 PM Frankfurt am Main Airport | 0 transfersDirect | |
LH275 | 4:50 PM Milan Linate Airport | 1h15 | 6:05 PM Frankfurt am Main Airport | 0 transfersDirect | |
VY6335 · VY1868 | 4:55 PM Milan Malpensa Airport | 14h35 | 7:30 AM Stuttgart Airport | 1 transfer | |
U21969 | 5:00 PM Milan Linate Airport | 1h20 | 6:20 PM Frankfurt am Main Airport | 0 transfersDirect | |
AF1731+ AF1618 | 5:25 PM Milan Malpensa Airport | 16h50 | 10:15 AM Frankfurt am Main Airport | 1 transfer | |
AF1731+ AF1318 | 5:25 PM Milan Malpensa Airport | 22h20 | 3:45 PM Frankfurt am Main Airport | 1 transfer | |
LH9491+ LH136 | 5:55 PM Milan Linate Airport | 4h05 | 10:00 PM Stuttgart Airport | 1 transfer | |
EN8803 | 5:55 PM Milan Linate Airport | 1h15 | 7:10 PM Frankfurt am Main Airport | 0 transfersDirect | |
LH9491 | 5:55 PM Milan Linate Airport | 1h15 | 7:10 PM Frankfurt am Main Airport | 0 transfersDirect | |
VY6341 · VY1868 | 6:20 PM Milan Malpensa Airport | 13h10 | 7:30 AM Stuttgart Airport | 1 transfer | |
LH1855+ LH2152 | 6:40 PM Milan Linate Airport | 3h05 | 9:45 PM Stuttgart Airport | 1 transfer | |
AF1631 · AF1318 | 6:50 PM Milan Malpensa Airport | 20h55 | 3:45 PM Frankfurt am Main Airport | 1 transfer | |
AF1631 · AF1618 | 6:50 PM Milan Malpensa Airport | 15h25 | 10:15 AM Frankfurt am Main Airport | 1 transfer | |
AF1631 · AF1018 | 6:50 PM Milan Malpensa Airport | 2h15 | 9:05 PM Frankfurt am Main Airport | 1 transfer | |
VY6337 · VY1868 | 8:55 PM Milan Malpensa Airport | 10h35 | 7:30 AM Stuttgart Airport | 1 transfer | |
FR 1689 | 9:10 PM Milan Bergamo Orio al Serio Airport | 1h20 | 10:30 PM Frankfurt Hahn Airport | 0 transfersDirect | |
QR118 · QR71 | 9:10 PM Milan Malpensa Airport | 22h20 | 7:30 PM Frankfurt am Main Airport | 1 transfer | |
QR118 · QR69 | 9:10 PM Milan Malpensa Airport | 32h40 | 5:50 AM Frankfurt am Main Airport | 1 transfer | |
QR118 · QR67 | 9:10 PM Milan Malpensa Airport | 15h10 | 12:20 PM Frankfurt am Main Airport | 1 transfer | |
LH7433+ LH2144 | 5:05 AM Milan Malpensa Airport | 2h45 | 7:50 AM Stuttgart Airport | 1 transfer | |
LH279 | 5:15 AM Milan Linate Airport | 1h15 | 6:30 AM Frankfurt am Main Airport | 0 transfersDirect | |
LH279 · LH128 | 5:15 AM Milan Linate Airport | 3h55 | 9:10 AM Stuttgart Airport | 1 transfer | |
LH279+ ICE 15 · ICE 1577 | 5:15 AM Milan Linate Airport | 8h26 | 1:41 PM Heidelberg Hbf | 2 transfers | |
LH279+ ICE 105 · 19273 | 5:15 AM Milan Linate Airport | 6h33 | 11:48 AM Heidelberg Hbf | 2 transfers | |
LH279+ ICE 225 · S3 | 5:15 AM Milan Linate Airport | 7h01 | 12:16 PM Heidelberg Hbf | 2 transfers | |
AZ2013 · AZ404 | 5:30 AM Milan Linate Airport | 10h40 | 4:10 PM Frankfurt am Main Airport | 1 transfer | |
LX1639+ LX4814 | 5:45 AM Milan Malpensa Airport | 3h10 | 8:55 AM Frankfurt am Main Airport | 1 transfer | |
LH5639+ ICE 105 · 19273 | 5:55 AM Milan Malpensa Airport | 5h53 | 11:48 AM Heidelberg Hbf | 2 transfers | |
LH5639+ ICE 15 · ICE 1577 | 5:55 AM Milan Malpensa Airport | 7h46 | 1:41 PM Heidelberg Hbf | 2 transfers | |
LH5639 | 5:55 AM Milan Malpensa Airport | 1h20 | 7:15 AM Frankfurt am Main Airport | 0 transfersDirect | |
EN8817+ ICE 15 · ICE 1577 | 5:55 AM Milan Malpensa Airport | 7h46 | 1:41 PM Heidelberg Hbf | 2 transfers | |
EN8817 | 5:55 AM Milan Malpensa Airport | 1h20 | 7:15 AM Frankfurt am Main Airport | 0 transfersDirect | |
LH5639+ LH128 | 5:55 AM Milan Malpensa Airport | 3h15 | 9:10 AM Stuttgart Airport | 1 transfer | |
AF1231+ AF1018 | 5:55 AM Milan Malpensa Airport | 15h10 | 9:05 PM Frankfurt am Main Airport | 1 transfer | |
AF1231+ AF1618 | 5:55 AM Milan Malpensa Airport | 4h20 | 10:15 AM Frankfurt am Main Airport | 1 transfer | |
AF1231+ AF1318 | 5:55 AM Milan Malpensa Airport | 9h50 | 3:45 PM Frankfurt am Main Airport | 1 transfer | |
U21967 | 6:00 AM Milan Linate Airport | 1h20 | 7:20 AM Frankfurt am Main Airport | 0 transfersDirect | |
U21967+ ICE 225 · S3 | 6:00 AM Milan Linate Airport | 6h16 | 12:16 PM Heidelberg Hbf | 2 transfers | |
U21967+ ICE 105 · 19273 | 6:00 AM Milan Linate Airport | 5h48 | 11:48 AM Heidelberg Hbf | 2 transfers | |
U21967+ ICE 15 · ICE 1577 | 6:00 AM Milan Linate Airport | 7h41 | 1:41 PM Heidelberg Hbf | 2 transfers | |
This is the last flight of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Milan to Heidelberg by train, bus, or flight
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.
Dec 23
Dec 24
Dec 25
Dec 26
Dec 27
Dec 28
Dec 29
Dec 30
Dec 31
Jan 01
Jan 02
Jan 03
Jan 04
Jan 05
Jan 06
Jan 07
Jan 08
Jan 09
Jan 10
Jan 11
Jan 12
Airlines: Eurowings , ITA, Ryanair, easyJet, Lufthansa, KM Malta Airlines, Air Dolomiti from Milan to HeidelbergFind the best flights between Milan to Heidelberg with Omio's travel partners Eurowings , ITA, Ryanair, easyJet, Lufthansa, KM Malta Airlines, Air Dolomiti from $22 (€18). We can find you the best deals, schedules and tickets when comparing and booking the best trip.
ITA
Lufthansa
Eurowings
Air Dolomiti
easyJet
KM Malta Airlines
Ryanair
FAQs: Milan to Heidelberg Flight
Find answers to the most common questions about traveling from Milan to Heidelberg by flight. 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 flight, the cheapest option, or tips for making the most of your visit at Heidelberg, this guide helps you travel smarter and with confidence.

- Heidelberg Castle Festival, a celebration of music and theater held in the historic castle
- Heidelberg Christmas Market, a traditional market featuring crafts, food, and festive activities
- Heidelberg Spring Festival, a lively fair with rides, games, and local delicacies
- Heidelberg Literature Festival, an event showcasing authors and literary discussions.
- Easter, beautiful spring weather and blooming flowers
- Labor Day, pleasant temperatures and local celebrations
- German Unity Day, a national holiday with various cultural events and activities
- Christmas Holidays, charming decorations and festive atmosphere throughout the city.
Typically, passengers are allowed one carry-on bag and one personal item (for example a purse, laptop bag, or backpack). Personal items must fit under the seat in front of you.
Budget Airlines (like Ryanair or Wizz Air) have stricter size and weight limits, often requiring fees for larger carry-ons. Full-Service Airlines have more lenient policies, sometimes including more spacious dimensions or higher weight limits depending on your ticket class.
popular airports
Popular airports from Milan to Heidelberg
- Free Wi-Fi available throughout the airport.
- Shops available in both terminals, including duty-free and fashion brands like Gucci and Prada.
- Parking available at Terminal 1 and Terminal 2, approximately 2.5€ per hour.
- Available outside the terminal.
- Elevators, ramps.
- Available throughout the airport.
- Yes
- Lounges available in Terminal 1, including Sala Montale and Club SEA.
- Located in both terminals, near baggage claim.
- Train: Malpensa Express
- Bus: Terravision, Autostradale, Malpensa Shuttle
- Free Wi-Fi available throughout the airport.
- Shops available, including Duty-Free and WHSmith, located in the departures area.
- Parking available in P1, P2, and P3 lots, approximately 2.5€ per hour.
- Available outside the terminal.
- Ramps, assistance.
- Available throughout the airport.
- Yes
- Lounge available, Sala Leonardo Lounge, access with membership or fee.
- Located in the arrivals area, near baggage claim.
- Bus 73
- Bus X73
- Free Wi-Fi available throughout the airport.
- Shops available, including duty-free and fashion stores, located in the departures area.
- Parking available near the terminal, approximately 3€ per hour.
- Available outside the terminal.
- Elevators, ramps.
- Available throughout the airport.
- Yes
- Lounge available, with access for a fee or membership.
- Located in the arrivals area.
- Bus: Line 1, Line 5
- Train: NA
- Metro: NA
More options for your journey from Milan to Heidelberg
Here are some other resources that might have the information you need













