There are 10 ways to get from Heerlen to Milan by train, plane, train (Eurostar), bus, 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 Düsseldorf International Airport, fly to Milan Linate Airport
best- Take the train from Herzogenrath to Duesseldorf Hbftrain
- Fly from Düsseldorf International Airport (DUS) to Milan Linate Airport (LIN)plane DUS - LIN
5h 59mTrain, train to Brussels Airport, fly to Milan Linate Airport
cheapest- Take the train from Heerlen to Liège-Guilleminstrain
- Take the train from Liège-Guillemins to Brussels Airport-Zaventemtrain
- Fly from Brussels Airport (BRU) to Milan Linate Airport (LIN)plane BRU - LIN
6h 14m€58–263Train
- Take the train from Aachen Hbf to Koeln Hbftrain Ice / ...
- Take the train from Köln Hbf to Basel SBBtrain 43 / ...
- Take the train from Basel SBB to Bellinzonatrain Ec
- Take the train from Bellinzona to Como S. Giovannitrain S10 / ...
- Take the train from Como S.Giovanni to Milano Porta Garibalditrain S11
11h 30m€125–408Train, bus
- Take the train from Heerlen to Liège-Guilleminstrain S43 / ...
- Take the bus from Liege - Rue Varin to Milano - Famagostabus
14h 36m€126–195Drive 829.5 km
- Drive from Heerlen to Milancar 829.5 km
8h 51m€153–221Train to Eindhoven Airport, fly to Il Caravaggio International Airport, bus
- Take the train from Heerlen to Eindhoven Centraaltrain
- Fly from Eindhoven Airport (EIN) to Il Caravaggio International Airport (BGY)plane EIN - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
5h 58m€62–310Train to Cologne Bonn Airport, fly to Il Caravaggio International Airport, bus
- Take the train from Aachen Hbf to Koeln Hbftrain
- Fly from Cologne Bonn Airport (CGN) to Il Caravaggio International Airport (BGY)plane CGN - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
6h 7m€87–323Train to Düsseldorf International Airport, fly to Milano Malpensa Airport, train
- Take the train from Herzogenrath to Duesseldorf Hbftrain
- Fly from Düsseldorf International Airport (DUS) to Milano Malpensa Airport (MXP)plane DUS - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
6h 44mTrain, train to Luxembourg, fly to Milan Linate Airport
- Take the train from Heerlen to Liège-Guilleminstrain
- Take the train from Liège-Guillemins to Luxembourgtrain
- Fly from Luxembourg (LUX) to Milan Linate Airport (LIN)plane LUX - LIN
8h 21m€80–333Bus
- Take the bus from Maastricht to Milanbus FlixBus N473
15h 47m€85–134
Heerlen to Milan by train
Comparing Your Travel Options
The cheapest way to get from Heerlen to Milan is to bus which costs €80 - €140 and takes 15h 47m.
The fastest way to get from Heerlen to Milan is to train and fly and bus which takes 5h 58m and costs €60 - €310.
No, there is no direct bus from Heerlen station to Milan. However, there are services departing from Heerlen, Station Heerlen and arriving at Milano, Autostazione Lampugnano via Gulpen-Wittem, Gulpen Busstation, Maastricht and via omodeo via cechov. The journey, including transfers, takes approximately 15h 47m.
No, there is no direct train from Heerlen to Milan. However, there are services departing from Heerlen and arriving at Milano Porta Garibaldi via Aachen Hbf, Köln Hbf, Basel SBB, Bellinzona and Como S.Giovanni. The journey, including transfers, takes approximately 11h 30m.
The distance between Heerlen and Milan is 774 km. The road distance is 829.5 km.
The best way to get from Heerlen to Milan without a car is to train which takes 11h 30m and costs €120 - €410.
It takes approximately 5h 59m to get from Heerlen to Milan, including transfers.
Heerlen to Milan bus services, operated by FlixBus, depart from Maastricht station.
Heerlen to Milan train services, operated by Deutsche Bahn Intercity (DB IC), depart from Aachen Hbf station.
The best way to get from Heerlen to Milan is to train which takes 11h 30m and costs €120 - €410. Alternatively, you can bus, which costs €80 - €140 and takes 15h 47m.
What companies run services between Heerlen, Netherlands and Milan, Italy?
You can take a train from Heerlen to Milano Porta Garibaldi via Aachen Hbf, Köln Hbf, Basel SBB, Bellinzona, and Como S.Giovanni in around 11h 30m. Alternatively, FlixBus operates a bus from Maastricht to Milan 6 times a week. Tickets cost €75–120 and the journey takes 13h 15m.
- Website
- lufthansa.com
Flights from Düsseldorf International Airport to Milan Linate Airport via Munich
- Ave. Duration
- 3h 33m
- When
- Every day
- Estimated price
- €100–320
Flights from Düsseldorf International Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 52m
- When
- Every day
- Estimated price
- €100–320
Flights from Brussels Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 35m
- When
- Monday and Sunday
- Estimated price
- €180–340
Flights from Brussels Airport to Milan Linate Airport via Munich
- Ave. Duration
- 3h 50m
- When
- Every day
- Estimated price
- €180–340
Flights from Düsseldorf International Airport to Milano Malpensa Airport via Munich
- Ave. Duration
- 3h 15m
- When
- Every day
- Estimated price
- €45–300
Flights from Düsseldorf International Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 3h 35m
- When
- Monday to Saturday
- Estimated price
- €80–290
Flights from Luxembourg to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 10m
- When
- Monday, Tuesday, Wednesday, Friday, Sunday, and Saturday
- Estimated price
- €90–500
Flights from Luxembourg to Milan Linate Airport via Munich
- Ave. Duration
- 3h 20m
- When
- Monday to Saturday
- Estimated price
- €90–180
- Website
- ita-airways.com
Flights from Düsseldorf International Airport to Milan Linate Airport
- Ave. Duration
- 1h 30m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €80–200
Flights from Düsseldorf International Airport to Milan Linate Airport via Munich
- Ave. Duration
- 3h 30m
- When
- Tuesday to Monday
- Estimated price
- €100–320
Flights from Brussels Airport to Milan Linate Airport
- Ave. Duration
- 1h 28m
- When
- Every day
- Estimated price
- €70–300
Flights from Düsseldorf International Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 3h 50m
- When
- Every day
- Estimated price
- €75–290
Flights from Luxembourg to Milan Linate Airport
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- €55–300
- Website
- ryanair.com
Flights from Eindhoven Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 32m
- When
- Friday, Monday, Tuesday, Sunday, and Wednesday
- Estimated price
- €40–250
Flights from Eindhoven Airport to Il Caravaggio International Airport via London Stansted
- Ave. Duration
- 3h 50m
- When
- Sunday
- Estimated price
- €40–250
Flights from Cologne Bonn Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 27m
- When
- Every day
- Estimated price
- €65–220
- Website
- easyjet.com
Flights from Brussels Airport to Milan Linate Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €30–150
Flights from Düsseldorf International Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 28m
- When
- Every day
- Estimated price
- €20–130
Flights from Luxembourg to Milan Linate Airport
- Ave. Duration
- 1h 15m
- When
- Monday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €29–200
- Website
- eurowings.com
Flights from Düsseldorf International Airport to Milan Linate Airport
- Ave. Duration
- 1h 30m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €80–200
Flights from Düsseldorf International Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 25m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- €85–280
- Website
- brusselsairlines.com
Flights from Brussels Airport to Milan Linate Airport
- Ave. Duration
- 1h 28m
- When
- Every day
- Estimated price
- €70–300
- Website
- klm.com
Flights from Düsseldorf International Airport to Milan Linate Airport via Amsterdam Schiphol
- Ave. Duration
- 3h 47m
- When
- Every day
- Estimated price
- €60–340
Flights from Brussels Airport to Milan Linate Airport via Amsterdam Schiphol
- Ave. Duration
- 3h 50m
- When
- Every day
- Estimated price
- €55–310
- Website
- luxair.lu
Flights from Luxembourg to Milan Linate Airport
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- €55–300
- Website
- swiss.com
Flights from Düsseldorf International Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 3h 22m
- When
- Every day
- Estimated price
- €75–290
- Website
- airdolomiti.it
Flights from Luxembourg to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 10m
- When
- Wednesday, Friday, and Saturday
- Estimated price
- €150–500
- Phone
- +49 221 13 999 444
- Website
- National Express
Train from Herzogenrath to Duesseldorf Hbf
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Schedules at
- National Express
Train from Aachen Hbf to Koeln Hbf
- Ave. Duration
- 53 min
- Frequency
- Hourly
- Schedules at
- National Express
Train from Aachen Hbf to Koeln Hbf
- Ave. Duration
- 53 min
- Frequency
- Hourly
- Schedules at
- National Express
Train from Herzogenrath to Duesseldorf Hbf
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Schedules at
- National Express
- Phone
- +49 30 2970
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Aachen Hbf to Koeln Hbf
- Ave. Duration
- 38 min
- Frequency
- Every 2 hours
- Estimated price
- €12–26
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Köln Hbf to Basel SBB
- Ave. Duration
- 3h 54m
- Frequency
- Hourly
- Estimated price
- €85–190
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Liège-Guillemins to Brussels Airport-Zaventem
- Ave. Duration
- 43 min
- Frequency
- Twice daily
- Estimated price
- €16–35
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Aachen Hbf to Koeln Hbf
- Ave. Duration
- 38 min
- Frequency
- Every 2 hours
- Estimated price
- €12–26
- Website
- Deutsche Bahn Intercity (DB IC)
- Phone
- +44 (0)3432 186 186
- Website
- Eurostar
Train from Aachen Hbf to Koeln Hbf
- Ave. Duration
- 38 min
- Frequency
- Every 2 hours
- Estimated price
- €25–45
- Website
- Eurostar
Train from Aachen Hbf to Koeln Hbf
- Ave. Duration
- 38 min
- Frequency
- Every 2 hours
- Estimated price
- €25–45
- Website
- Eurostar
- Phone
- +43 5 1717
- Website
- Österreichische Bundesbahnen
Train from Aachen Hbf to Koeln Hbf
- Ave. Duration
- 38 min
- Frequency
- 3 times a week
- Estimated price
- €20–30
- Website
- Österreichische Bundesbahnen
Train from Köln Hbf to Basel SBB
- Ave. Duration
- 6h 28m
- Frequency
- Twice daily
- Estimated price
- €100–150
- Website
- Österreichische Bundesbahnen
Train from Aachen Hbf to Koeln Hbf
- Ave. Duration
- 38 min
- Frequency
- 3 times a week
- Estimated price
- €20–30
- Website
- Österreichische Bundesbahnen
Train from Basel SBB to Bellinzona
- Ave. Duration
- 2h 38m
- Frequency
- Every 3 hours
- Estimated price
- €75–110
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Bellinzona to Como S. Giovanni
- Ave. Duration
- 58 min
- Frequency
- Hourly
- Estimated price
- €18–25
- 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
- €16–23
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +41 58 580 70 70
- Website
- Schweizerische Südostbahn AG
Train from Basel SBB to Bellinzona
- Ave. Duration
- 3h 56m
- Frequency
- Every 4 hours
- Estimated price
- €65–100
- Schedules at
- Schweizerische Südostbahn AG
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- SBB GmbH
Train from Basel SBB to Bellinzona
- Ave. Duration
- 3h 5m
- Frequency
- Once daily
- Estimated price
- €18–23
- Schedules at
- SBB GmbH
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- Trenord
Train from Bellinzona to Como S. Giovanni
- Ave. Duration
- 58 min
- Frequency
- Every 30 minutes
- Estimated price
- €3–4
- 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 Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- Trenord
- Phone
- +32 70 79 79 79
- Website
- Belgian Railways
Train from Heerlen to Liège-Guillemins
- Ave. Duration
- 1h 1m
- Frequency
- Every 2 hours
- Estimated price
- €9–15
- Website
- Belgian Railways
Train from Heerlen to Liège-Guillemins
- Ave. Duration
- 1h 1m
- Frequency
- Every 2 hours
- Estimated price
- €9–15
- Website
- Belgian Railways
Train from Liège-Guillemins to Brussels Airport-Zaventem
- Ave. Duration
- 1h 12m
- Frequency
- Hourly
- Estimated price
- €16–24
- Website
- Belgian Railways
Train from Heerlen to Liège-Guillemins
- Ave. Duration
- 1h 1m
- Frequency
- Every 2 hours
- Estimated price
- €9–15
- Website
- Belgian Railways
Train from Liège-Guillemins to Luxembourg
- Ave. Duration
- 2h 41m
- Frequency
- Hourly
- Estimated price
- €28–45
- Website
- Belgian Railways
- Phone
- 0800-0232 545
- Website
- Arriva NL
Train from Heerlen to Liège-Guillemins
- Ave. Duration
- 1h 1m
- Frequency
- Hourly
- Estimated price
- €10–15
- Website
- Arriva NL
- Second Class Single
- €10–15
Train from Heerlen to Liège-Guillemins
- Ave. Duration
- 1h 1m
- Frequency
- Hourly
- Estimated price
- €10–15
- Website
- Arriva NL
- Second Class Single
- €10–15
Train from Heerlen to Liège-Guillemins
- Ave. Duration
- 1h 1m
- Frequency
- Hourly
- Estimated price
- €10–15
- Website
- Arriva NL
- Second Class Single
- €10–15
- Phone
- +31 30 751 5155
- Website
- Nederlandse Spoorwegen (NS)
Train from Heerlen to Liège-Guillemins
- Ave. Duration
- 1h 5m
- Frequency
- Hourly
- Estimated price
- €6–12
- Website
- Nederlandse Spoorwegen (NS)
Train from Heerlen to Liège-Guillemins
- Ave. Duration
- 1h 5m
- Frequency
- Hourly
- Estimated price
- €6–12
- Website
- Nederlandse Spoorwegen (NS)
Train from Heerlen to Eindhoven Centraal
- Ave. Duration
- 1h 2m
- Frequency
- Hourly
- Estimated price
- €10–21
- Website
- Nederlandse Spoorwegen (NS)
Train from Heerlen to Liège-Guillemins
- Ave. Duration
- 1h 5m
- Frequency
- Hourly
- Estimated price
- €6–12
- Website
- Nederlandse Spoorwegen (NS)
- Phone
- +39 0362 185 0590
- info@onebus.it
- Website
- Onebus
Bus from Liege - Rue Varin to Milano - Famagosta
- Ave. Duration
- 12h 35m
- Frequency
- Once a week
- Estimated price
- €120–180
- Website
- Onebus
- customerservices@terravision.eu
- Website
- TERRAVISION
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–23
- Website
- TERRAVISION
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–23
- Website
- TERRAVISION
- Phone
- 035.319366
- ticket@orioshuttle.com
- Website
- orioshuttle.com
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €11–14
- Schedules at
- orioshuttle.com
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €11–14
- Schedules at
- orioshuttle.com
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Maastricht to Milan
- Ave. Duration
- 13h 15m
- Frequency
- 6 times a week
- Estimated price
- €75–120
- Website
- Flixbus
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
Heerlen to Milan bus services, operated by FlixBus, arrive at Milan station.
Heerlen to Milan train services, operated by Deutsche Bahn Intercity (DB IC), arrive at Koeln Hbf station.
Yes, the driving distance between Heerlen to Milan is 830 km. It takes approximately 8h 51m to drive from Heerlen to Milan.
Book your Heerlen to Milan train tickets online with Omio.
There are 13870+ hotels available in Milan.





























































