Travel Information
Compare train, flight, and bus for Milan to Olten
Omio recommends booking the train as it is the most popular option from Milan to Olten among Omio's users. If you are prioritising price take the bus with prices starting from $28. For those with little time consider booking a flight which can get you there in 1h 0m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.1 - 0.2kg. The ticket price range depends on the travel mode: a bus costs an average of $28, and a flight costs an average of $88.
Distance: 144 miles (232 km)
Compare train with
Most popular Train | Bus | Flight |
|---|---|---|
$107 Average price | $37 Average price Cheapest | $171 Average price |
4h 23m Average total duration 3h 53m Onboard + 30m Additional time* | 4h 59m Average total duration 4h 29m Onboard + 30m Additional time* | 4h 0m Average total duration Fastest 1h 0m Onboard + 3h 0m Additional time* |
0.1 - 0.2kg CO2 emissions Lowest | 0.2 - 0.6kg CO2 emissions | 0.7 - 1.4kg CO2 emissions |
![]() Most popular train company | ![]() Most popular bus company | ![]() Most popular airline |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
This is compared to other travel options from Milan to Olten:
A bus is $70 (€56) less than a train for this route with tickets for a train from Milan to Olten costing on average $107 (€86).
A bus is $134 (€107) less than a flight for this route with tickets for a flight from Milan to Olten costing on average $171 (€136).
Other travel options to Olten take longer:
Train takes on average 3h 53m.
Bus takes on average 4h 29m.
Travel optionsfrom Milan to Olten
How to get from Milan to Olten by train, bus or flight.
Our recommendation
The best way to travel from Milan to Olten is by taking a bus because it’s the best combination of price and speed.
2516:35 AM5h20Milano, San Donato - Settore B (Viale Giuseppe Impastato)11:55 AMOlten, Gösgerstrasse (Bahnhof)$461One-way0 transfers
Cheapest
2516:35 AM5h20Milano, San Donato - Settore B (Viale Giuseppe Impastato)11:55 AMOlten, Gösgerstrasse (Bahnhof)$461One-way0 transfers
Fastest
LX16292:55 PM0h55Milan Malpensa Airport3:50 PMZurich Airport$2991One-way0 transfers
Other options
EuroCity 607:10 AM3h50Milan Centrale11:00 AMOlten station$1671One-way0 transfers
EuroCity 17810:10 AM4h18Milan Centrale2:28 PMOlten station$1721One-way0 transfers
17810:10 AM4h18Milan Centrale2:28 PMOlten station$1721One-way0 transfers
ET7367:05 AM1h15Milan Malpensa Airport8:20 AMZurich Airport$2661One-way0 transfers
LX161310:40 AM1h00Milan Malpensa Airport11:40 AMZurich Airport$2991One-way0 transfers
EW7823+
EW77629:05 AM6h10Milan Malpensa Airport3:15 PMZurich Airport$2681One-way1 transfer
Find all the dates and times for this journey by train, bus, flight, and ferry .
Compare prices and tickets Prices for trains, buses and flights
Compare train, flight, and bus prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
May 08
May 09
May 10
May 11
May 12
May 13
May 14
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Milan to Olten
Travel to Olten easily. Whether you want fast, cheap or something entirely different, our travel experts have collected everything you need to know so you can find the best option from Milan to Olten.

This is compared to other travel options from Milan to Olten:
A bus is $70 (€56) less than a train for this route with tickets for a train from Milan to Olten costing on average $107 (€86).
A bus is $134 (€107) less than a flight for this route with tickets for a flight from Milan to Olten costing on average $171 (€136).
Other travel options to Olten take longer:
Train takes on average 3h 53m.
Bus takes on average 4h 29m.
- Around 42 flights per day.
- Around 4 trains per day.
- Around 3 buses per day.
However, we recommend checking specific travel dates for your route between Milan and Olten as scheduled services by train, flight, and bus can vary by season or day of the week.
- Flights mostly depart from Milan Malpensa Airport and arrive in Zurich Airport.
- Trains mostly depart from Milan Centrale and arrive in Olten station.
- Buses mostly depart from Milano, San Donato - Settore B (Viale Giuseppe Impastato) and arrive in Olten, Gösgerstrasse (Bahnhof).
- Travel with Swiss, Helvetic Airways to go to Olten by flight.
- Travel with Trenitalia, Trenitalia EuroCity to go to Olten by train.
- Travel with BlaBlaCar, Marino Autolinee to go to Olten by bus.
- 7 direct flights per day with Helvetic Airways.
- 3 direct trains per day with Trenitalia EuroCity.
- 3 direct buses per day with BlaBlaCar.
Travelling from Milan to Olten: related information
Here are some other resources that might have the information you need

