Directions from Heidelberg to Milan

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 to Frankfurt, fly to Milan Linate  •  4 h 34 min

  1. Take the train from Mannheim Hbf to Frankfurt(M) Flughafen Fernbf
  2. Fly from Frankfurt (FRA) to Milan Linate (LIN) FRA - LIN

$110 - $335

Cheapest option

Bus via Winterthur  •  12 h 54 min

  1. Take the bus from Mannheim to Winterthur Ouibus
  2. Take the bus from Winterthur to Milan Ouibus / ...

$31 - $52

8 alternative options

Train to Frankfurt, fly to Milan Malpensa  •  5 h 8 min

  1. Take the train from Mannheim Hbf to Frankfurt(M) Flughafen Fernbf
  2. Fly from Frankfurt (FRA) to Milan Malpensa (MXP) FRA - MXP

$121 - $308

Train, train to Frankfurt, fly to Milan Bergamo  •  5 h 33 min

  1. Take the train from Heidelberg Hbf to Mannheim Hbf
  2. Take the train from Mannheim Hbf to Frankfurt(M) Flughafen Fernbf
  3. Fly from Frankfurt (FRA) to Milan Bergamo (BGY) FRA - BGY

$66 - $274

Train to Stuttgart, fly to Milan Malpensa  •  6 h 7 min

  1. Take the train from Heidelberg Hbf to Stuttgart Hbf
  2. Fly from Stuttgart (STR) to Milan Malpensa (MXP) STR - MXP

$70 - $196

Train to Frankfurt, fly to Turin, train  •  6 h 16 min

  1. Take the train from Mannheim Hbf to Frankfurt(M) Flughafen Fernbf
  2. Fly from Frankfurt (FRA) to Turin (TRN) FRA - TRN
  3. Take the train from Torino Porta Susa to Milano Centrale

$142 - $401

Train Swiss Railways (SBB/CFF/FFS)  •  7 h 54 min

  1. Take the train from Mannheim Hbf to Basel SBB Ice / ...
  2. Take the train from Basel SBB to Milano Centrale Eurocity / ...

$152 - $252

Train  •  8 h 1 min

  1. Take the train from Heidelberg Hbf to Karlsruhe Hbf Ic / ...
  2. Take the train from Karlsruhe Hbf to Milano Centrale Ece

$129 - $227

Bus FlixBus  •  9 h 28 min

  1. Take the bus from Heidelberg to Milan, Milan 107 / ...

$37 - $61

Drive  •  5 h 49 min

  1. Drive from Heidelberg to Milan 369.1 miles

$85 - $130

What companies run services between Heidelberg, Germany and Milan, Italy?

You can take a train from Heidelberg to Milan via Mannheim Hbf and Basel SBB in around 7 h 54 min. Alternatively, FlixBus operates a bus from Heidelberg to Milan 5 times a day. Tickets cost $35 - $60 and the journey takes 9 h.

Airlines
Lufthansa
Website
lufthansa.com
Flights from Frankfurt to Milan Linate
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$160 - $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 6 min
When
Every day
Estimated price
$150 - $500
Flights from Frankfurt to Milan Bergamo via Munich
Ave. Duration
3 h 12 min
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
$130 - $550
Flights from Stuttgart to Milan Malpensa via Frankfurt
Ave. Duration
2 h 57 min
When
Every day
Estimated price
$190 - $650
Flights from Frankfurt to Turin
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$170 - $800
Flights from Frankfurt to Turin via Munich
Ave. Duration
3 h 13 min
When
Every day
Estimated price
$170 - $700
Luxair
Website
luxair.lu
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
Flights from Frankfurt to Turin
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$170 - $800
Flights from Frankfurt to Turin via Luxembourg
Ave. Duration
3 h
When
Thursday and Friday
Estimated price
$1,700 - $3,400
Swiss
Website
swiss.com
Flights from Frankfurt to Milan Malpensa via Zurich
Ave. Duration
2 h 50 min
When
Monday to Friday
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
Alitalia
Website
alitalia.com
Flights from Frankfurt to Milan Linate
Ave. Duration
1 h 15 min
When
Every day
Estimated price
$170 - $750
Eurowings
Website
eurowings.com
Flights from Stuttgart to Milan Malpensa
Ave. Duration
1 h 15 min
When
Every day
Estimated price
$40 - $310
Ryanair
Website
ryanair.com
Flights from Frankfurt to Milan Bergamo
Ave. Duration
1 h 20 min
When
Every day
Estimated price
$27 - $210
easyJet
Website
easyjet.com
Flights from Stuttgart to Milan Malpensa
Ave. Duration
1 h 5 min
When
Monday, Tuesday, Wednesday, Thursday, 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 Frankfurt(M) Flughafen Fernbf
Ave. Duration
30 min
Frequency
Every 30 minutes
Estimated price
$22 - $35
Website
bahn.de
Train from Heidelberg Hbf to Mannheim Hbf
Ave. Duration
14 min
Frequency
Every 30 minutes
Estimated price
$12 - $18
Website
bahn.de
Train from Heidelberg Hbf to Stuttgart Hbf
Ave. Duration
40 min
Frequency
Hourly
Estimated price
$25 - $40
Website
bahn.de
Train from Mannheim Hbf to Basel SBB
Ave. Duration
2 h 11 min
Frequency
Hourly
Estimated price
$50 - $85
Website
bahn.de
Train from Basel SBB to Milano Centrale
Ave. Duration
4 h 31 min
Frequency
Once daily
Estimated price
$75 - $110
Website
bahn.de
Train from Heidelberg Hbf to Karlsruhe Hbf
Ave. Duration
36 min
Frequency
Every 2 hours
Estimated price
$18 - $27
Website
bahn.de
Train from Karlsruhe Hbf to Milano Centrale
Ave. Duration
6 h 25 min
Frequency
Once daily
Estimated price
$110 - $200
Website
bahn.de
Flixtrain
Website
flixtrain.com
Train from Heidelberg, Heidelberg central station to Stuttgart, Stuttgart central station
Ave. Duration
44 min
Frequency
3 times a week
Schedules at
flixtrain.com
Swiss Railways (SBB/CFF/FFS)
Website
sbb.ch
Train from Basel SBB to Milano Centrale
Ave. Duration
4 h 6 min
Frequency
4 times a day
Estimated price
$90 - $150
Website
fahrplan.sbb.ch
Schedules at
fahrplan.sbb.ch
Bus operators
FlixBus
Phone
+49 1807 123 99 123
Email
info@flixbus.de
Website
flixbus.de
Bus from Heidelberg to Milan, Milan
Ave. Duration
9 h
Frequency
5 times a day
Estimated price
$35 - $60
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
Bus from Winterthur to Milan
Ave. Duration
5 h 50 min
Frequency
Every 15 minutes
Estimated price
$11 - $17
Website
Ouibus
Marino Autolinee
Phone
+39 080 3112335
Email
info@marinobus.it
Website
marinobus.it
Bus from Winterthur to Milano
Ave. Duration
5 h 45 min
Frequency
Twice daily
Estimated price
$24
Schedules at
marinobus.it

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.

Questions & Answers

The distance between Heidelberg and Milan is 440 km. The road distance is 591 km.

The cheapest way to get from Heidelberg to Milan is to bus which costs 26€ - 45€ and takes 12 h 54 min.

The quickest way to get from Heidelberg to Milan is to train and fly which takes 4 h 34 min and costs 90€ - 290€.

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

No, there is no direct bus from Heidelberg to Milan. However, there are services departing from Heidelberg and arriving at conciliazione m1 via lampugnano m1. The journey, including transfers, takes approximately 9 h 28 min.

It takes approximately 4 h 34 min to get from Heidelberg to Milan, including transfers.