There are 11 ways to get from Basel to Milan by train, plane, bus, car, or car train
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 Oelde to Duesseldorf Flughafen
- Fly from Düsseldorf International Airport (DUS) to Milan Linate Airport (LIN)DUS - LIN
7h 25m€101–281Train, bus
cheapest- Take the train from Oelde to Dortmund HbfRe
- Take the bus from Dortmund central bus station to Milano, Autostazione LampugnanoN07
17h 42m€63–158Train
- Take the train from Oelde to Dortmund HbfRe
- Take the train from Dortmund Hbf to Basel SBB43
- Take the train from Basel SBB to LuganoEc
- Take the train from Lugano to Milano CentraleEc
13h 3m€156–380Train, bus via Würzburg
- Take the train from Lippstadt, Bustreff Bahnhof to Würzburg Hbf41
- Take the bus from Würzburg Main Station to Milano, Autostazione LampugnanoN24
16h 52m€96–185Drive 886.1 km
- Drive from Basel to Milan886.1 km
8h 47m€137–198Train to Düsseldorf International Airport, fly to Milano Malpensa Airport, train
- Take the train from Oelde to Duesseldorf Flughafen
- Fly from Düsseldorf International Airport (DUS) to Milano Malpensa Airport (MXP)DUS - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
8h 8m€64–253Train to Münster Osnabrück International Airport, fly to Milan Linate Airport
- Take the train from Lippstadt, Bustreff Bahnhof to Münster Hauptbahnhof
- Fly from Münster Osnabrück International Airport (FMO) to Milan Linate Airport (LIN)FMO - LIN
9h 11m€141–394Train, train to Frankfurt, fly to Milan Linate Airport
- Take the train from Oelde to Dortmund Hbf
- Take the train from Dortmund Hbf to Frankfurt
- Fly from Frankfurt (FRA) to Milan Linate Airport (LIN)FRA - LIN
8h 40m€87–271Train to Cologne Bonn Airport, fly to Il Caravaggio International Airport
- Take the train from Oelde to Koeln/Bonn Flughafen
- Fly from Cologne Bonn Airport (CGN) to Il Caravaggio International Airport (BGY)CGN - BGY
9h 11m€96–305Train, train to Frankfurt, fly to Milano Malpensa Airport
- Take the train from Oelde to Dortmund Hbf
- Take the train from Dortmund Hbf to Frankfurt
- Fly from Frankfurt (FRA) to Milano Malpensa Airport (MXP)FRA - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
9h 28m€115–303Drive, car train
- Drive from Basel to Göttingen
- Take the car train from Göttingen to München Ost
- Drive from München Ost to Milan
11h 16m€181–250
Basel to Milan by bus and train
Questions & Answers
The cheapest way to get from Basel to Milan is to train and bus which costs €60 - €160 and takes 17h 42m.
The fastest way to get from Basel to Milan is to train and fly which takes 7h 25m and costs €100 - €290.
The distance between Basel and Milan is 829 km. The road distance is 886.1 km.
The best way to get from Basel to Milan without a car is to train which takes 13h 3m and costs €150 - €380.
It takes approximately 7h 25m to get from Basel to Milan, including transfers.
Yes, the driving distance between Basel to Milan is 886 km. It takes approximately 8h 47m to drive from Basel to Milan.
There are 13475+ hotels available in Milan.
What companies run services between Basel, Germany and Milan, Italy?
You can take a vehicle from Basel to Milano Centrale via Oelde, Dortmund Hbf, Basel SBB, and Lugano in around 13h 3m.
- Website
- lufthansa.com
Flights from Düsseldorf International Airport to Milan Linate Airport via Munich
- Ave. Duration
- 3h 10m
- When
- Monday to Friday
- Estimated price
- €120–280
Flights from Düsseldorf International Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 47m
- When
- Every day
- Estimated price
- €120–280
Flights from Düsseldorf International Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 3h 13m
- When
- Every day
- Estimated price
- €95–300
Flights from Düsseldorf International Airport to Milano Malpensa Airport via Munich
- Ave. Duration
- 3h 15m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €70–290
Flights from Münster Osnabrück International Airport to Milan Linate Airport via Munich
- Ave. Duration
- 3h 50m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €70–400
Flights from Frankfurt to Milan Linate Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €70–150
Flights from Frankfurt to Milan Linate Airport via Munich
- Ave. Duration
- 3h 20m
- When
- Tuesday to Friday
- Estimated price
- €65–120
Flights from Frankfurt to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €75–260
- Website
- ita-airways.com
Flights from Düsseldorf International Airport to Milan Linate Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €65–190
Flights from Düsseldorf International Airport to Milan Linate Airport via Munich
- Ave. Duration
- 3h 10m
- When
- Monday to Friday
- Estimated price
- €120–280
Flights from Düsseldorf International Airport to Milano Malpensa Airport via Munich
- Ave. Duration
- 3h 20m
- When
- Monday, Tuesday, Thursday, and Friday
- Estimated price
- €70–290
Flights from Düsseldorf International Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 3h 25m
- When
- Every day
- Estimated price
- €70–270
Flights from Düsseldorf International Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 3h 25m
- When
- Tuesday, Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- €95–300
Flights from Frankfurt to Milan Linate Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €70–150
Flights from Frankfurt to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €75–260
- Website
- airdolomiti.it
Flights from Frankfurt to Milan Linate Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €70–150
Flights from Frankfurt to Milano Malpensa Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €85–260
- Website
- easyjet.com
Flights from Düsseldorf International Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 25m
- When
- Every day
- Estimated price
- €28–160
Flights from Frankfurt to Milan Linate Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €35–120
- Website
- klm.com
Flights from Düsseldorf International Airport to Milan Linate Airport via Amsterdam Schiphol
- Ave. Duration
- 3h 50m
- When
- Every day
- Estimated price
- €55–330
- Website
- ryanair.com
Flights from Cologne Bonn Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 30m
- When
- Monday, Friday, and Sunday
- Estimated price
- €50–180
Flights from Cologne Bonn Airport to Il Caravaggio International Airport via Vienna
- Ave. Duration
- 4h
- When
- Sunday
- Estimated price
- €50–180
- Website
- condor.com
Flights from Frankfurt to Milano Malpensa Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €40–130
- Website
- eurowings.com
Flights from Düsseldorf International Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 30m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €40–160
- Website
- swiss.com
Flights from Düsseldorf International Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 3h 15m
- When
- Every day
- Estimated price
- €40–270
- Website
- airfrance.com
Flights from Düsseldorf International Airport to Milan Linate Airport via Paris Charles de Gaulle
- Ave. Duration
- 4h
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €55–330
- Phone
- 0221 13 999 444
- Website
- nationalexpress.de
Train from Oelde to Duesseldorf Flughafen
- Ave. Duration
- 1h 33m
- Frequency
- Hourly
- Estimated price
- €22–35
- Schedules at
- nationalexpress.de
Train from Oelde to Dortmund Hbf
- Ave. Duration
- 44 min
- Frequency
- Hourly
- Estimated price
- €12–18
- Schedules at
- nationalexpress.de
Train from Oelde to Koeln/Bonn Flughafen
- Ave. Duration
- 2h 48m
- Frequency
- Hourly
- Estimated price
- €30–50
- Schedules at
- nationalexpress.de
- Phone
- +49 30 311 682904
- Website
- bahn.de
Train from Dortmund Hbf to Basel SBB
- Ave. Duration
- 5h 12m
- Frequency
- Every 4 hours
- Estimated price
- €70–170
- Website
- https://int.bahn.de/en
Train from Lippstadt, Bustreff Bahnhof to Würzburg Hbf
- Ave. Duration
- 2h 28m
- Frequency
- Once a week
- Estimated price
- €55–65
- Website
- https://int.bahn.de/en
Train from Dortmund Hbf to Frankfurt
- Ave. Duration
- 2h 13m
- Frequency
- Hourly
- Estimated price
- €28–110
- Website
- https://int.bahn.de/en
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Basel SBB to Lugano
- Ave. Duration
- 2h 55m
- Frequency
- Every 2 hours
- Estimated price
- €55–110
- Website
- https://www.sbb.ch/en
Train from Lugano to Milano Centrale
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- €23–45
- Website
- https://www.sbb.ch/en
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- sbb-deutschland.de
Train from Basel SBB to Lugano
- Ave. Duration
- 3h 21m
- Frequency
- Once daily
- Estimated price
- €20–25
- Schedules at
- sbb-deutschland.de
- 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
- 0180 6 9 27 37 27
- info@eurobahn.de
- Website
- eurobahn.de
Train from Lippstadt, Bustreff Bahnhof to Münster Hauptbahnhof
- Ave. Duration
- 1h 6m
- Frequency
- Hourly
- Estimated price
- €15–22
- Website
- https://www.eurobahn.de/en/
- Phone
- +49 (0) 221 800 20 820
- info@urlaubs-express.de
- Website
- urlaubs-express.de
Car train from Göttingen to München Ost
- Ave. Duration
- 2h 59m
- Frequency
- Once daily
- Estimated price
- €95–120
- Website
- https://urlaubs-express.de/?lang=en
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Würzburg Main Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 10h 55m
- Frequency
- Once daily
- Estimated price
- €35–110
- Website
- https://www.flixbus.co.uk
Bus from Dortmund central bus station to Milano, Autostazione Lampugnano
- Ave. Duration
- 14h
- Frequency
- Once daily
- Estimated price
- €45–130
- 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
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


































