There are 10 ways to get from Charleroi to Milan by train, plane, train (Eurostar, Trenitalia), 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 Brussels Airport, fly to Milan Linate Airport
best- Take the train from Charleroi-Central to Bruxelles-Miditrain
- Fly from Brussels Airport (BRU) to Milan Linate Airport (LIN)plane BRU - LIN
5h 2m€47–227Fly Brussels South Charleroi Airport to Il Caravaggio International Airport, bus
cheapest- Fly from Brussels South Charleroi Airport (CRL) to Il Caravaggio International Airport (BGY)plane CRL - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
4h 53m€38–218Train
- Take the train from Charleroi-Central to Bruxelles-Miditrain Ic / ...
- Take the train from Brussel-Zuid / Bruxelles-Midi to Chambery Challes Les Eauxtrain
- Take the train from Chambery Challes Les Eaux to Milano Centraletrain Fr
10h 41m€299–518Bus
- Take the bus from Charleroi Rue de la Villette to Milano - Famagostabus
13h 33mDrive 836.8 km
- Drive from Charleroi to Milancar 836.8 km
9h 1m€132–190Train to Brussels Airport, fly to Milano Malpensa Airport, train
- Take the train from Charleroi-Central to Bruxelles-Miditrain
- Fly from Brussels Airport (BRU) to Milano Malpensa Airport (MXP)plane BRU - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
6h 1m€80–240Fly Brussels South Charleroi Airport to Turin Caselle Airport, train
- Fly from Brussels South Charleroi Airport (CRL) to Turin Caselle Airport (TRN)plane CRL - TRN
- Take the train from Torino Porta di Susa to Milano Centraletrain
6h€53–242Train to Luxembourg, fly to Milan Linate Airport
- Take the train from Namur to Luxembourgtrain
- Fly from Luxembourg (LUX) to Milan Linate Airport (LIN)plane LUX - LIN
7h 35m€89–320Fly Brussels South Charleroi Airport to Verona Villafranca Airport, train
- Fly from Brussels South Charleroi Airport (CRL) to Verona Villafranca Airport (VRN)plane CRL - VRN
- Take the train from Verona Porta Nuova to Milano Centraletrain
5h 57m€61–345Train, bus
- Take the train from Charleroi-Central to Bruxelles-Miditrain Ic / ...
- Take the bus from Brussels - Midi Train Station to Milano, Autostazione Lampugnanobus BlaBlaCar Bus
14h 41m€89–168
Charleroi to Milan by train
Questions & Answers
The cheapest way to get from Charleroi to Milan is to fly and bus which costs €35 - €220 and takes 4h 53m.
The fastest way to get from Charleroi to Milan is to fly and bus which takes 4h 53m and costs €35 - €220.
Yes, there is a direct bus departing from Charleroi Rue de la Villette and arriving at Milano - Famagosta. Services depart once a week. The journey takes approximately 13h 33m.
No, there is no direct train from Charleroi to Milan. However, there are services departing from Charleroi-Central and arriving at Milano Centrale via Brussel-Zuid / Bruxelles-Midi and Chambery Challes Les Eaux. The journey, including transfers, takes approximately 10h 41m.
The distance between Charleroi and Milan is 779 km. The road distance is 836.8 km.
The best way to get from Charleroi to Milan without a car is to train which takes 10h 41m and costs €290 - €550.
It takes approximately 5h 2m to get from Charleroi to Milan, including transfers.
Charleroi to Milan bus services, operated by Onebus, depart from Charleroi Rue de la Villette station.
Charleroi to Milan train services, operated by Belgian Railways (NMBS/SNCB), depart from Charleroi-Central station.
The best way to get from Charleroi to Milan is to train which takes 10h 41m and costs €290 - €550. Alternatively, you can bus, which costs and takes 13h 33m.
What companies run services between Charleroi, Belgium and Milan, Italy?
You can take a train from Charleroi-Central to Milano Centrale via Brussel-Zuid / Bruxelles-Midi and Chambery Challes Les Eaux in around 10h 41m. Alternatively, Onebus operates a bus from Charleroi Rue de la Villette to Milano - Famagosta once a week, and the journey takes 13h 33m.
- Website
- ryanair.com
Flights from Brussels South Charleroi Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €30–170
Flights from Brussels South Charleroi Airport to Turin Caselle Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €29–160
Flights from Brussels South Charleroi Airport to Verona Villafranca Airport
- Ave. Duration
- 1h 40m
- When
- Monday, Tuesday, Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- €30–220
- Website
- lufthansa.com
Flights from Brussels Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 35m
- When
- Monday, Tuesday, Friday, Saturday, and Sunday
- Estimated price
- €180–410
Flights from Brussels Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 3h 25m
- When
- Every day
- Estimated price
- €75–550
Flights from Brussels Airport to Milano Malpensa Airport via Munich
- Ave. Duration
- 3h 47m
- When
- Every day
- Estimated price
- €65–180
Flights from Luxembourg to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 5m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €85–210
Flights from Luxembourg to Milan Linate Airport via Munich
- Ave. Duration
- 3h 30m
- When
- Every day
- Estimated price
- €85–210
- Website
- ita-airways.com
Flights from Brussels Airport to Milan Linate Airport
- Ave. Duration
- 1h 28m
- When
- Every day
- Estimated price
- €70–280
Flights from Brussels Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €65–180
Flights from Luxembourg to Milan Linate Airport
- Ave. Duration
- 1h 20m
- When
- Saturday, Tuesday, Thursday, and Sunday
- Estimated price
- €65–240
- Website
- easyjet.com
Flights from Brussels Airport to Milan Linate Airport
- Ave. Duration
- 1h 23m
- When
- Every day
- Estimated price
- €35–180
Flights from Luxembourg to Milan Linate Airport
- Ave. Duration
- 1h 15m
- When
- Monday, Wednesday, Thursday, and Sunday
- Estimated price
- €30–220
- Website
- brusselsairlines.com
Flights from Brussels Airport to Milan Linate Airport
- Ave. Duration
- 1h 28m
- When
- Every day
- Estimated price
- €70–280
Flights from Brussels Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €65–180
- Website
- luxair.lu
Flights from Luxembourg to Milan Linate Airport
- Ave. Duration
- 1h 20m
- When
- Saturday, Tuesday, Thursday, and Sunday
- Estimated price
- €65–240
- Website
- swiss.com
Flights from Brussels Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 3h 47m
- When
- Every day
- Estimated price
- €75–260
- Website
- klm.com
Flights from Brussels Airport to Milan Linate Airport via Amsterdam Schiphol
- Ave. Duration
- 3h 35m
- When
- Saturday and Sunday
- Estimated price
- €55–310
- Website
- airdolomiti.it
Flights from Luxembourg to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 5m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €85–210
- Phone
- +32 70 79 79 79
- Website
- belgiantrain.be
Train from Charleroi-Central to Bruxelles-Midi
- Ave. Duration
- 51 min
- Frequency
- Every 20 minutes
- Estimated price
- €9–19
- Website
- https://www.belgiantrain.be/en
Train from Charleroi-Central to Bruxelles-Midi
- Ave. Duration
- 51 min
- Frequency
- Every 20 minutes
- Estimated price
- €9–19
- Website
- https://www.belgiantrain.be/en
Train from Charleroi-Central to Bruxelles-Midi
- Ave. Duration
- 51 min
- Frequency
- Every 20 minutes
- Estimated price
- €9–19
- Website
- https://www.belgiantrain.be/en
Train from Namur to Luxembourg
- Ave. Duration
- 2h 3m
- Frequency
- Hourly
- Estimated price
- €27–55
- Website
- https://www.belgiantrain.be/en
Train from Charleroi-Central to Bruxelles-Midi
- Ave. Duration
- 51 min
- Frequency
- Every 20 minutes
- Estimated price
- €9–19
- Website
- https://www.belgiantrain.be/en
- Phone
- +44 (0)3432 186 186
- Website
- eurostar.com
Train from Brussel-Zuid / Bruxelles-Midi to Chambery Challes Les Eaux
- Ave. Duration
- 4h 29m
- Frequency
- 5 times a week
- Estimated price
- €250–430
- Website
- https://www.eurostar.com/rw-en
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Chambery Challes Les Eaux to Milano Centrale
- Ave. Duration
- 3h 21m
- Frequency
- 4 times a day
- Estimated price
- €40–70
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- trenord.it
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Torino Porta di Susa to Milano Centrale
- Ave. Duration
- 50 min
- Frequency
- Hourly
- Estimated price
- €18–35
- Website
- https://www.italotreno.it/en
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Verona Porta Nuova to Milano Centrale
- Ave. Duration
- 1h 13m
- Frequency
- Every 30 minutes
- Estimated price
- €22–45
- Schedules at
- trenitalia.com
- Phone
- +39 06 68475475
- [email protected]
- Website
- trenitalia.com
Train from Verona Porta Nuova to Milano Centrale
- Ave. Duration
- 1h 23m
- Frequency
- 4 times a day
- Estimated price
- €35–85
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €55–85
- 2nd Class
- €35–50
- Phone
- +39 0362 185 0590
- [email protected]
- Website
- onebus.it
Bus from Charleroi Rue de la Villette to Milano - Famagosta
- Ave. Duration
- 13h 33m
- Frequency
- Once a week
- Website
- https://onebus.it/
- [email protected]
- Website
- terravision.eu
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–25
- Website
- https://www.terravision.eu/
- Phone
- +3 318 576 2228
- Website
- blablacar.co.uk
Bus from Brussels - Midi Train Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 12h 50m
- Frequency
- Twice daily
- Estimated price
- €80–150
- Website
- https://www.blablacar.co.uk/bus
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
Charleroi to Milan bus services, operated by Onebus, arrive at Milano - Famagosta station.
Charleroi to Milan train services, operated by Belgian Railways (NMBS/SNCB), arrive at Bruxelles-Midi station.
Yes, the driving distance between Charleroi to Milan is 837 km. It takes approximately 9h 1m to drive from Charleroi to Milan.
Book your Charleroi to Milan train tickets online with Omio.
Book your Charleroi to Milan bus tickets online with Omio.
There are 14417+ hotels available in Milan.













































