Travel Information
Compare train, bus, and flight 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 an average ticket price of $39 For those with little time, consider booking a train, which has an average total journey time of 4h 3m. If you are seeking to minimise your carbon footprint, the train is your best option, with estimated CO2 emissions of 0.1 - 0.2kg. Average ticket prices depend on the travel mode: a bus costs an average of $39, while a flight costs an average of $515.
Distance: 144 miles (232 km)
Compare train with
Most popular Train | Bus | Flight |
|---|---|---|
$112 Average price | $39 Average price Cheapest | $515 Average price |
4h 3m Average total duration Fastest 3h 33m Onboard + 30m Additional time* | 5h 51m Average total duration 5h 21m Onboard + 30m Additional time* | 5h 10m Average total duration 3h 10m Onboard + 2h 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.
Compare ways to travel from Milan to Olten
Compare the available ways to get from Milan to Olten, with the key details around price, speed, convenience, and direct service.
This is compared to other travel options from Milan to Olten:
A bus is $73 less than a train for this route with tickets for a train from Milan to Olten costing on average $112.
A bus is $476 less than a flight for this route with tickets for a flight from Milan to Olten costing on average $515.
Other travel options to Olten take longer:
Flight takes on average 5h 10m.
Bus takes on average 5h 51m.
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 train because it’s the best combination of price and speed.
EuroCity 607:10 AM 3h50 Milan Centrale 11:00 AM Olten station $135 1 One-way 0 transfers
Cheapest
EuroCity 607:10 AM 3h50 Milan Centrale 11:00 AM Olten station $135 1 One-way 0 transfers
Fastest
LX16237:20 PM 1h00 Milan Malpensa Airport 8:20 PM Zurich Airport $297 1 One-way 0 transfers
Other options
EuroCity 643:10 PM 3h50 Milan Centrale 7:00 PM Olten station $135 1 One-way 0 transfers
EuroCity 666:05 PM 3h55 Milan Centrale 10:00 PM Olten station $135 1 One-way 0 transfers
EuroCity 17810:10 AM 4h18 Milan Centrale 2:28 PM Olten station $135 1 One-way 0 transfers
ET7337:25 PM 1h10 Milan Malpensa Airport 8:35 PM Zurich Airport $209 1 One-way 0 transfers
VF62 · VF531:10 PM 23h55 Milan Bergamo Orio al Serio Airport 1:05 PM Zurich Airport $292 1 One-way 1 transfer
AZ720410:30 AM 1h05 Milan Malpensa Airport 11:35 AM Zurich Airport $294 1 One-way 0 transfers
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, bus, and flight 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.
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 $73 less than a train for this route with tickets for a train from Milan to Olten costing on average $112.
A bus is $476 less than a flight for this route with tickets for a flight from Milan to Olten costing on average $515.
Other travel options to Olten take longer:
Flight takes on average 5h 10m.
Bus takes on average 5h 51m.
- Around 45 flights per day.
- Around 4 trains per day.
- Around 1 buses per day.
However, we recommend checking specific travel dates for your route between Milan and Olten as scheduled services by train, bus, and flight 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 British Airways, Air Dolomiti, Vueling, ITA, Turkish Airlines, Swiss, Helvetic Airways, Lufthansa, Austrian Airlines, AJet, BA Cityflyer, Ethiopian Airlines, Eurowings, Air Baltic, GetJet Airlines, Brussels Airlines, Lot Polish Airlines, Lufthansa Cityline, Smartwings to go to Olten by flight.
- Travel with Trenitalia, SBB to go to Olten by train.
- Travel with Marino Autolinee to go to Olten by bus.
- 5 direct flights per day with ITA, Swiss, Helvetic Airways, Ethiopian Airlines, Air Baltic.
- 3 direct trains per day with Trenitalia.
- 1 direct buses per day with Marino Autolinee.
Travelling from Milan to Olten: related information
Here are some other resources that might have the information you need


