There are 6 ways to get from Milan to Olten by bus, train, train (Trenitalia), 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.
Bus, train
best- Take the bus from Milano - Famagosta to ZÜRICH, Carparkplatz am Sihlquaibus
- Take the train from Zürich HB to Oltentrain Ic5 / ...
3h 6mCHF 76–106Bus
cheapest- Take the bus from Como Grandate to Olten Stationbus
7h 46mCHF 28–40Train (Trenitalia)
- Take the train from Milano P.Garibaldi to Oltentrain Ec
3h 55mCHF 65–120Drive 295.3 km
- Drive from Milan to Oltencar 295.3 km
3h 14mCHF 50–72Train, fly
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Zurich Airport (ZRH)plane MXP - ZRH
- Take the train from Zürich Flughafen to Oltentrain
4h 9mCHF 90–240Train via Bellinzona
- Take the train from Milano Centrale to Bellinzonatrain Ec
- Take the train from Bellinzona to Oltentrain Ic21 / ...
4h 23mCHF 66–226
Milan to Olten by train (Trenitalia)
Questions & Answers
The cheapest way to get from Milan to Olten is to bus which costs SFr 27 - SFr 40 and takes 7h 46m.
The fastest way to get from Milan to Olten is to bus and train which takes 3h 6m and costs SFr 75 - SFr 110.
No, there is no direct bus from Milan to Olten station. However, there are services departing from Como Grandate and arriving at Olten Station via . The journey, including transfers, takes approximately 7h 46m.
Yes, there is a direct train departing from Milano P.Garibaldi and arriving at Olten. Services depart once daily, and operate Saturday and Sunday. The journey takes approximately 3h 55m.
The distance between Milan and Olten is 372 km. The road distance is 295.3 km.
The best way to get from Milan to Olten without a car is to bus and train which takes 3h 6m and costs SFr 75 - SFr 110.
It takes approximately 3h 6m to get from Milan to Olten, including transfers.
Milan to Olten bus services, operated by Gruppo Di Maio, depart from Como Grandate station.
Milan to Olten train services, operated by Trenitalia EuroCity, depart from Milano P.Garibaldi station.
The best way to get from Milan to Olten is to train which takes 3h 55m and costs SFr 65 - SFr 120. Alternatively, you can bus, which costs SFr 27 - SFr 40 and takes 7h 46m.
What companies run services between Milan, Italy and Olten, Switzerland?
Trenitalia EuroCity operates a train from Milano P.Garibaldi to Olten once daily. Tickets cost CHF 65–120 and the journey takes 3h 55m. Alternatively, Gruppo Di Maio operates a bus from Como Grandate to Olten Station twice a week. Tickets cost CHF 24–35 and the journey takes 6h.
- Website
- swiss.com
Flights from Milano Malpensa Airport to Zurich Airport
- Ave. Duration
- 58 min
- When
- Every day
- Estimated price
- CHF 60–300
Train from Zürich HB to Olten
- Ave. Duration
- 35 min
- Frequency
- Every 20 minutes
- Estimated price
- CHF 18–45
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Zürich Flughafen to Olten
- Ave. Duration
- 50 min
- Frequency
- Hourly
- Estimated price
- CHF 21–55
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Bellinzona to Olten
- Ave. Duration
- 2h 11m
- Frequency
- Every 3 hours
- Estimated price
- CHF 60–160
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +39 0362 185 0590
- info@onebus.it
- Website
- Onebus
Bus from Milano - Famagosta to ZÜRICH, Carparkplatz am Sihlquai
- Ave. Duration
- 2h 22m
- Frequency
- Once a week
- Estimated price
- CHF 55–80
- Website
- Onebus
Want to know more about travelling around Switzerland
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
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
Italy Travel Guides
Read the travel guide
More Questions & Answers
Milan to Olten bus services, operated by Gruppo Di Maio, arrive at Olten Station.
Milan to Olten train services, operated by Trenitalia EuroCity, arrive at Olten station.
Yes, the driving distance between Milan to Olten is 295 km. It takes approximately 3h 14m to drive from Milan to Olten.
Book your Milan to Olten train tickets online with Omio.
Book your Milan to Olten bus tickets online with Omio.
There are 393+ hotels available in Olten.



