There are 7 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 LuganoIc21 / ...
- Take the train from Como S.Giovanni to Milano Porta GaribaldiS11 / ...
5h 6m€44–154Rideshare
cheapest- Take the rideshare from Basel to Milan338.6 km
4h 18m€20Bus
- Take the bus from Basel SBB to Milano, Autostazione LampugnanoN524 / ...
5h 15m€21–60Train to Zurich Airport, fly to Milano Malpensa Airport, train
- Take the train from Basel SBB to Zürich HB
- Fly from Zurich Airport (ZRH) to Milano Malpensa Airport (MXP)ZRH - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
4h 22m€93–255Bus via Basel Mulhouse Freiburg - Airport
- Take the bus from Basel Mulhouse Freiburg - Airport to Milano, Autostazione LampugnanoBlaBlaCar Bus
7h 13m€33–69Drive 338.5 km
- Drive from Basel to Milan338.5 km
3h 38m€58–84Fly Basel to Milan Linate Airport
- Fly from Basel (BSL) to Milan Linate Airport (LIN)BSL - LIN
5h 43m€99–287
Basel to Milan by train
Questions & Answers
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 38m and costs €55 - €85.
Yes, there is a direct bus departing from Basel SBB and arriving at Milano, Autostazione Lampugnano. Services depart every three hours, and operate every day. The journey takes approximately 5h 15m.
No, there is no direct train from Basel to Milan. However, there are services departing from Basel SBB and arriving at Milano Porta Garibaldi via Lugano and Como S.Giovanni. The journey, including transfers, takes approximately 5h 6m.
The distance between Basel and Milan is 330 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 5h 6m and costs €40 - €160.
It takes approximately 5h 6m to get from Basel to Milan, including transfers.
Basel to Milan bus services, operated by FlixBus, depart from Basel 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 5h 6m and costs €40 - €160. Alternatively, you can bus, which costs €21 - €60 and takes 5h 15m, you could also fly, which costs €95 - €290 and takes 5h 43m.
What companies run services between Basel, Switzerland and Milan, Italy?
You can take a train from Basel SBB to Milano Porta Garibaldi via Lugano and Como S.Giovanni in around 5h 6m. Alternatively, FlixBus operates a bus from Basel SBB to Milano, Autostazione Lampugnano every 3 hours. Tickets cost €21–60 and the journey takes 5h 15m.
- Website
- lufthansa.com
Flights from Basel to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 39m
- When
- Every day
- Estimated price
- €95–320
Flights from Basel to Milan Linate Airport via Munich
- Ave. Duration
- 4h 45m
- When
- Monday, Tuesday, Thursday, Friday, and Sunday
- Estimated price
- €95–280
- Website
- swiss.com
Flights from Zurich Airport to Milano Malpensa Airport
- Ave. Duration
- 55 min
- When
- Every day
- Estimated price
- €50–190
- Website
- airdolomiti.it
Flights from Basel to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 22m
- When
- Every day
- Estimated price
- €95–320
- Website
- ethiopianairlines.com
Flights from Zurich Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €65–150
- Website
- easyjet.com
Flights from Basel to Milan Linate Airport via Figari
- Ave. Duration
- 5h
- When
- Wednesday
- Estimated price
- €95–270
- Website
- airfrance.com
Flights from Basel to Milan Linate Airport via Paris Charles de Gaulle
- Ave. Duration
- 5h 5m
- When
- Every day
- Estimated price
- €60–320
- Website
- austrian.com
Flights from Basel to Milan Linate Airport via Vienna
- Ave. Duration
- 6h 20m
- When
- Monday, Tuesday, Wednesday, and Friday
- Estimated price
- €130–270
- 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 Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 49 min
- Frequency
- Twice a week
- Estimated price
- €23–45
- Website
- https://www.sbb.ch/en
Train from Basel SBB to Zürich HB
- Ave. Duration
- 1h 12m
- Frequency
- Every 20 minutes
- Estimated price
- €21–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 22m
- 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 Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 1h 6m
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
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
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Basel SBB to Milano, Autostazione Lampugnano
- Ave. Duration
- 5h 15m
- Frequency
- Every 3 hours
- Estimated price
- €21–60
- Website
- https://www.flixbus.co.uk
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Basel Mulhouse Freiburg - Airport to Milano, Autostazione Lampugnano
- Ave. Duration
- 6h
- Frequency
- 4 times a week
- Estimated price
- €30–65
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +3 318 576 2228
- Website
- blablacar.com
Rideshare from Basel to Milan
- Ave. Duration
- 4h 18m
- Frequency
- 4 times a day
- Estimated price
- €20
- Schedules at
- blablacar.com
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
More Questions & Answers
Basel to Milan bus services, operated by FlixBus, 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 339 km. It takes approximately 3h 38m 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 and FlixBus.
There are 13465+ 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.



























