There are 8 ways to get from Basel to Milan by train, bus, rideshare, plane, 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
best- Take the train from Basel SBB to Luganotrain Ic21 / ...
- Take the train from Lugano to Milano Centraletrain Re80
4h 53m€47–345Rideshare
cheapest- Take the rideshare from Basel to Milan338.6 km
4h 18m€20Bus
- Take the bus from Basel, Meret Oppenheim-Strasse (Bahnhof SBB) to Milano, Autostazione Lampugnanobus BlaBlaCar Bus
5h 30m€30–55Train to Zurich Airport, fly to Milano Malpensa Airport, train
- Take the train from Basel SBB to Zürich HBtrain
- Fly from Zurich Airport (ZRH) to Milano Malpensa Airport (MXP)plane ZRH - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
4h 25m€108–299Train via Como
- 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
5h 8m€25–350Bus via Duomo M1
- Take the bus from Basel SBB to Milanbus FlixBus N524 / ...
5h 35m€28–47Drive 338.5 km
- Drive from Basel to Milancar 338.5 km
3h 39m€59–85Fly Basel to Milan Linate Airport
- Fly from Basel (BSL) to Milan Linate Airport (LIN)plane BSL - LIN
5h 37m€114–377
Basel to Milan by train
Comparing Your Travel Options
The cheapest way to get from Basel to Milan is to rideshare which costs €20 and takes 4h 18m.
The fastest way to get from Basel to Milan is to drive which takes 3h 39m and costs €55 - €85.
Yes, there is a direct bus departing from Basel, Meret Oppenheim-Strasse (Bahnhof SBB) and arriving at Milano, Autostazione Lampugnano. Services depart twice daily, and operate every day. The journey takes approximately 5h 30m.
No, there is no direct train from Basel to Milan. However, there are services departing from Basel SBB and arriving at Milano Centrale via Lugano. The journey, including transfers, takes approximately 4h 53m.
The distance between Basel and Milan is 328 km. The road distance is 338.5 km.
The best way to get from Basel to Milan without a car is to train which takes 4h 53m and costs €45 - €350.
It takes approximately 4h 53m to get from Basel to Milan, including transfers.
Basel to Milan bus services, operated by BlaBlaCar Bus, depart from Basel, Meret Oppenheim-Strasse (Bahnhof SBB) station.
Basel to Milan train services, operated by Swiss Federal Railways (SBB CFF FFS), depart from Basel SBB station.
The best way to get from Basel to Milan is to train which takes 4h 53m and costs €45 - €350. Alternatively, you can bus, which costs €30 - €55 and takes 5h 30m, you could also fly, which costs €110 - €380 and takes 5h 37m.
What companies run services between Basel, Switzerland and Milan, Italy?
You can take a train from Basel SBB to Milano Centrale via Lugano in around 4h 53m. Alternatively, BlaBlaCar Bus operates a bus from Basel, Meret Oppenheim-Strasse (Bahnhof SBB) to Milano, Autostazione Lampugnano twice daily. Tickets cost €30–55 and the journey takes 5h 30m. Onebus also services this route once a week.
- Website
- lufthansa.com
Flights from Basel to Milan Linate Airport via Munich
- Ave. Duration
- 3h 57m
- When
- Monday to Saturday
- Estimated price
- €70–240
Flights from Basel to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 50m
- When
- Every day
- Estimated price
- €70–650
- Website
- swiss.com
Flights from Zurich Airport to Milano Malpensa Airport
- Ave. Duration
- 55 min
- When
- Every day
- Estimated price
- €70–330
- Website
- airfrance.com
Flights from Basel to Milan Linate Airport via Paris Charles de Gaulle
- Ave. Duration
- 5h 55m
- When
- Monday, Tuesday, Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- €60–330
- Website
- ethiopianairlines.com
Flights from Zurich Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €95–160
- Website
- airdolomiti.it
Flights from Basel to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 15m
- When
- Sunday
- Estimated price
- €160–650
- Website
- austrian.com
Flights from Basel to Milan Linate Airport via Vienna
- Ave. Duration
- 3h 50m
- When
- Monday to Friday
- Estimated price
- €190–370
Train from Basel SBB to Lugano
- Ave. Duration
- 2h 54m
- Frequency
- Every 3 hours
- Estimated price
- €85–270
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Lugano to Milano Centrale
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- €27–80
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Basel SBB to Zürich HB
- Ave. Duration
- 1h 13m
- Frequency
- Every 20 minutes
- Estimated price
- €30–95
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Basel SBB to Bellinzona
- Ave. Duration
- 2h 38m
- Frequency
- Every 3 hours
- Estimated price
- €80–240
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Bellinzona to Como S. Giovanni
- Ave. Duration
- 58 min
- Frequency
- Hourly
- Estimated price
- €18–60
- 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–50
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- SBB GmbH
Train from Basel SBB to Lugano
- Ave. Duration
- 3h 21m
- Frequency
- Once daily
- Estimated price
- €20–25
- Schedules at
- 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 Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- 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
- 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
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Basel, Meret Oppenheim-Strasse (Bahnhof SBB) to Milano, Autostazione Lampugnano
- Ave. Duration
- 5h 30m
- Frequency
- Twice daily
- Estimated price
- €30–55
- Website
- BlaBlaCar Bus
- Phone
- +39 0362 185 0590
- info@onebus.it
- Website
- Onebus
Bus from Basel, Meret Oppenheim-Strasse (Bahnhof SBB) to Milano, Autostazione Lampugnano
- Ave. Duration
- 3h 5m
- Frequency
- Once a week
- Website
- Onebus
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Basel SBB to Milan
- Ave. Duration
- 5h 15m
- Frequency
- Every 2 hours
- Estimated price
- €27–45
- Website
- Flixbus
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar
Rideshare from Basel to Milan
- Ave. Duration
- 4h 18m
- Frequency
- 4 times a day
- Estimated price
- €20
- Schedules at
- BlaBlaCar
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
Italian Lakes: Getting around by train
Read the travel guide
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
Booking & Getting There
Basel to Milan bus services, operated by BlaBlaCar Bus, arrive at Milano, Autostazione Lampugnano station.
Basel to Milan train services, operated by Swiss Federal Railways (SBB CFF FFS), arrive at Lugano station.
Yes, the driving distance between Basel to Milan is 338 km. It takes approximately 3h 39m to drive from Basel to Milan.
Book your Basel to Milan train tickets online with Omio.
Book your Basel to Milan bus tickets online with Omio.
There are 14150+ hotels available in Milan.
Check out Blablacar's carpooling service for rideshare options between Basel and Milan. A great option if you don't have a driver's licence or want to avoid public transport.






























