There are 6 ways to get from Hasselt to Milan by train, plane, 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, fly to Milan Linate Airport
best- Take the train from Hasselt to Brussels Airport-Zaventem
- Fly from Brussels Airport (BRU) to Milan Linate Airport (LIN)BRU - LIN
4h 41m€52–180Bus
cheapest- Take the bus from Maastricht to Milano, Autostazione LampugnanoN473
16h 23m€48–103Train
- Take the train from Hasselt to Bruxelles-MidiIc / ...
- Take the train from Brussel-Zuid to Chambéry
- Take the train from Chambery Challes Les Eaux to Milano CentraleFr
10h 39m€186–576Train, bus
- Take the train from Hasselt to Brussels-NordIc / ...
- Take the bus from Brussels-North Station to Milano, Autostazione Lampugnano
15h 32mDrive 853.2 km
- Drive from Hasselt to Milan853.2 km
8h 44m€133–192Train, fly to Milano Malpensa Airport
- Take the train from Hasselt to Brussels Airport-Zaventem
- Fly from Brussels Airport (BRU) to Milano Malpensa Airport (MXP)BRU - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
5h 29m€80–232
Hasselt to Milan by train
Questions & Answers
The cheapest way to get from Hasselt to Milan is to bus which costs €45 - €110 and takes 16h 23m.
The fastest way to get from Hasselt to Milan is to train and fly which takes 4h 41m and costs €50 - €180.
No, there is no direct bus from Hasselt to Milan. However, there are services departing from Hasselt Dusartplein and arriving at Milano, Autostazione Lampugnano via Maastricht. The journey, including transfers, takes approximately 16h 23m.
No, there is no direct train from Hasselt to Milan. However, there are services departing from Hasselt and arriving at Milano Centrale via Brussel-Zuid and Chambery Challes Les Eaux. The journey, including transfers, takes approximately 10h 39m.
The distance between Hasselt and Milan is 781 km. The road distance is 853.2 km.
The best way to get from Hasselt to Milan without a car is to train which takes 10h 39m and costs €180 - €600.
It takes approximately 4h 41m to get from Hasselt to Milan, including transfers.
Hasselt to Milan bus services, operated by FlixBus, depart from Maastricht station.
Hasselt to Milan train services, operated by Belgian Railways (NMBS/SNCB), depart from Hasselt station.
The best way to get from Hasselt to Milan is to train which takes 10h 39m and costs €180 - €600. Alternatively, you can bus, which costs €45 - €110 and takes 16h 23m.
What companies run services between Hasselt, Belgium and Milan, Italy?
You can take a train from Hasselt to Milano Centrale via Bruxelles-Midi, Brussel-Zuid, Chambéry, and Chambery Challes Les Eaux in around 10h 39m. Alternatively, FlixBus operates a bus from Maastricht to Milano, Autostazione Lampugnano 5 times a week. Tickets cost €45–100 and the journey takes 14h 15m.
Transport is disrupted due to the Russia-Ukraine war. Read more
- Website
- ita-airways.com
Flights from Brussels Airport to Milan Linate Airport
- Ave. Duration
- 1h 27m
- When
- Every day
- Estimated price
- €45–230
Flights from Brussels Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 27m
- When
- Every day
- Estimated price
- €60–200
- Website
- brusselsairlines.com
Flights from Brussels Airport to Milan Linate Airport
- Ave. Duration
- 1h 27m
- When
- Every day
- Estimated price
- €45–230
Flights from Brussels Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 27m
- When
- Every day
- Estimated price
- €60–200
- Website
- lufthansa.com
Flights from Brussels Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 15m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €85–340
Flights from Brussels Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 3h 30m
- When
- Every day
- Estimated price
- €70–290
Flights from Brussels Airport to Milano Malpensa Airport via Munich
- Ave. Duration
- 3h 30m
- When
- Every day
- Estimated price
- €70–280
- Website
- easyjet.com
Flights from Brussels Airport to Milan Linate Airport
- Ave. Duration
- 1h 27m
- When
- Every day
- Estimated price
- €30–140
- Website
- klm.com
Flights from Brussels Airport to Milan Linate Airport via Amsterdam Schiphol
- Ave. Duration
- 3h 47m
- When
- Every day
- Estimated price
- €55–310
- Website
- swiss.com
Flights from Brussels Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 3h 22m
- When
- Every day
- Estimated price
- €60–200
- Phone
- +32 70 79 79 79
- Website
- belgiantrain.be
Train from Hasselt to Brussels Airport-Zaventem
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Estimated price
- €16–18
- Website
- https://www.belgiantrain.be/en
- 2nd Class
- €16–18
- 1st Class
- €21–24
Train from Hasselt to Bruxelles-Midi
- Ave. Duration
- 1h 11m
- Frequency
- Every 30 minutes
- Estimated price
- €16
- Website
- https://www.belgiantrain.be/en
Train from Hasselt to Brussels-Nord
- Ave. Duration
- 59 min
- Frequency
- Every 30 minutes
- Estimated price
- €8–13
- Website
- https://www.belgiantrain.be/en
- 2nd Class
- €8–13
- 1st Class
- €13–19
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from Brussel-Zuid to Chambéry
- Ave. Duration
- 4h 15m
- Frequency
- Once a week
- Estimated price
- €120–420
- Website
- https://www.ns.nl/en
- 2nd Class
- €120–180
- 1st Class
- €250–420
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Chambery Challes Les Eaux to Milano Centrale
- Ave. Duration
- 3h 13m
- Frequency
- Twice daily
- Estimated price
- €50–140
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 42 min
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +39 02-72494949
- Website
- malpensaexpress.it
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 42 min
- Frequency
- Hourly
- Estimated price
- €15
- Website
- https://www.malpensaexpress.it/en/
- Phone
- +393293958604
- info@pistoiaviaggi.com
- Website
- pistoia-viaggi.it
Bus from Brussels-North Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 13h 33m
- Frequency
- Once a week
- Schedules at
- pistoia-viaggi.it
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Maastricht to Milano, Autostazione Lampugnano
- Ave. Duration
- 14h 15m
- Frequency
- 5 times a week
- Estimated price
- €45–100
- Website
- https://www.flixbus.co.uk
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
Getting to Milan from the airport
Read the travel guide
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
More Questions & Answers
Hasselt to Milan bus services, operated by FlixBus, arrive at Milano, Autostazione Lampugnano station.
Hasselt to Milan train services, operated by Belgian Railways (NMBS/SNCB), arrive at Bruxelles-Midi station.
Yes, the driving distance between Hasselt to Milan is 853 km. It takes approximately 8h 44m to drive from Hasselt to Milan.
Book your Hasselt to Milan train tickets online with Omio.
There are 13049+ hotels available in Milan.


























