There are 7 ways to get from Olten to Milan by train, bus, car, or plane
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train, bus
best- Take the train from Olten to Zürich HBtrain Ic5 / ...
- Take the bus from ZÜRICH, Carparkplatz am Sihlquai to Milano - Famagostabus
3h 58m€82–117Bus
cheapest- Take the bus from Olten Station to Aresebus
7h 59m€32–45Train
- Take the train from Olten to Luganotrain Ic21 / ...
- Take the train from Lugano to Milano Centraletrain Re80
4h 27m€103–298Drive 295.5 km
- Drive from Olten to Milancar 295.5 km
3h 15m€52–76Train to Zurich Airport, fly to Milano Malpensa Airport, train
- Take the train from Olten to Zürich Flughafentrain
- Fly from Zurich Airport (ZRH) to Milano Malpensa Airport (MXP)plane ZRH - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
3h 49m€97–262Train via Como
- Take the train from Olten 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
4h 42m€65–188Fly Basel to Milan Linate Airport
- Fly from Basel (BSL) to Milan Linate Airport (LIN)plane BSL - LIN
6h 25m€107–351
Olten to Milan by train
Questions & Answers
The cheapest way to get from Olten to Milan is to bus which costs €30 - €45 and takes 7h 59m.
The fastest way to get from Olten to Milan is to drive which takes 3h 15m and costs €50 - €75.
No, there is no direct bus from Olten station to Milan. However, there are services departing from Olten Station and arriving at qt8 m1 via V.le Sempione Via Matteotti. The journey, including transfers, takes approximately 7h 59m.
No, there is no direct train from Olten to Milan. However, there are services departing from Olten and arriving at Milano Centrale via Lugano. The journey, including transfers, takes approximately 4h 27m.
The distance between Olten and Milan is 372 km. The road distance is 295.5 km.
The best way to get from Olten to Milan without a car is to train and bus which takes 3h 58m and costs €80 - €120.
It takes approximately 3h 58m to get from Olten to Milan, including transfers.
Olten to Milan bus services, operated by Gruppo Di Maio, depart from Olten Station.
Olten to Milan train services, operated by Swiss Federal Railways (SBB CFF FFS), depart from Olten station.
The best way to get from Olten to Milan is to train which takes 4h 27m and costs €100 - €300. Alternatively, you can bus, which costs €30 - €45 and takes 7h 59m, you could also fly, which costs €100 - €360 and takes 6h 25m.
What companies run services between Olten, Switzerland and Milan, Italy?
You can take a train from Olten to Milano Centrale via Lugano in around 4h 27m. Alternatively, Gruppo Di Maio operates a bus from Olten Station to Arese twice a week. Tickets cost €28–40 and the journey takes 6h 40m.
- Website
- lufthansa.com
Flights from Basel to Milan Linate Airport via Munich
- Ave. Duration
- 3h 57m
- When
- Monday to Saturday
- Estimated price
- €75–250
Flights from Basel to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 50m
- When
- Every day
- Estimated price
- €75–600
Train from Olten to Zürich HB
- Ave. Duration
- 36 min
- Frequency
- Every 20 minutes
- Estimated price
- €19–60
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Olten to Lugano
- Ave. Duration
- 2h 28m
- Frequency
- Every 3 hours
- Estimated price
- €75–220
- 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 Olten to Zürich Flughafen
- Ave. Duration
- 51 min
- Frequency
- Hourly
- Estimated price
- €23–70
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Olten to Bellinzona
- Ave. Duration
- 2h 12m
- Frequency
- Every 3 hours
- Estimated price
- €65–200
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Bellinzona to Como S. Giovanni
- Ave. Duration
- 58 min
- Frequency
- Hourly
- Estimated price
- €19–55
- 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
- +39 0362 185 0590
- [email protected]
- Website
- Onebus
Bus from ZÜRICH, Carparkplatz am Sihlquai to Milano - Famagosta
- Ave. Duration
- 2h 22m
- Frequency
- Once a week
- Estimated price
- €60–85
- Website
- Onebus
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
Italian Lakes: Getting around by train
Read the travel guide
More Questions & Answers
Olten to Milan bus services, operated by Gruppo Di Maio, arrive at Arese station.
Olten to Milan train services, operated by Swiss Federal Railways (SBB CFF FFS), arrive at Lugano station.
Yes, the driving distance between Olten to Milan is 295 km. It takes approximately 3h 15m to drive from Olten to Milan.
Book your Olten to Milan train tickets online with Omio.
Book your Olten to Milan bus tickets online with Omio.
There are 14131+ hotels available in Milan.



