There are 7 ways to get from Olten to Monza 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
best- Take the train from Olten to Luganotrain Ic21 / ...
- Take the train from Lugano to Monzatrain Re 80 / ...
4h 14m€81–227Train, bus
cheapest- Take the train from Olten to Zürich HBtrain Ic5 / ...
- Take the bus from Zurich Bus Station to Milanbus FlixBus N177 / ...
6h 20m€45–76Drive 284.9 km
- Drive from Olten to Monzacar 284.9 km
3h 17m€50–72Train 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
4h 10m€104–265Train via Cadenazzo
- Take the train from Olten to Cadenazzotrain Ir26
- Take the train from Cadenazzo to Monzatrain Re 80
5h 56m€76–111Train to Zurich Airport, fly to Milan Linate Airport
- Take the train from Olten to Zürich Flughafentrain
- Fly from Zurich Airport (ZRH) to Milan Linate Airport (LIN)plane ZRH - LIN
6h 51m€126–391Fly Basel to Milan Linate Airport
- Fly from Basel (BSL) to Milan Linate Airport (LIN)plane BSL - LIN
7h 4m€111–377
Olten to Monza by train
Questions & Answers
The cheapest way to get from Olten to Monza is to train and bus which costs €45 - €80 and takes 6h 20m.
The fastest way to get from Olten to Monza is to drive which takes 3h 17m and costs €45 - €75.
No, there is no direct train from Olten to Monza. However, there are services departing from Olten and arriving at Monza via Lugano. The journey, including transfers, takes approximately 4h 14m.
The distance between Olten and Monza is 279 km. The road distance is 284.9 km.
The best way to get from Olten to Monza without a car is to train which takes 4h 14m and costs €80 - €230.
It takes approximately 4h 14m to get from Olten to Monza, including transfers.
Olten to Monza train services, operated by Swiss Federal Railways (SBB CFF FFS), depart from Olten station.
The best way to get from Olten to Monza is to train which takes 4h 14m and costs €80 - €230. Alternatively, you can fly, which costs €110 - €380 and takes 7h 4m.
Olten to Monza train services, operated by Swiss Federal Railways (SBB CFF FFS), arrive at Lugano station.
Yes, the driving distance between Olten to Monza is 285 km. It takes approximately 3h 17m to drive from Olten to Monza.
What companies run services between Olten, Switzerland and Monza, Italy?
You can take a train from Olten to Monza via Lugano in around 4h 14m. Alternatively, Lufthansa, Air Dolomiti, and four other airlines fly from Basel (BSL) to Milan Linate Airport (LIN) every 4 hours.
- Website
- lufthansa.com
Flights from Zurich Airport to Milan Linate Airport via Munich
- Ave. Duration
- 3h 38m
- When
- Every day
- Estimated price
- €75–380
Flights from Zurich Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 53m
- When
- Every day
- Estimated price
- €75–550
Flights from Basel to Milan Linate Airport via Munich
- Ave. Duration
- 3h 56m
- When
- Every day
- Estimated price
- €95–440
Flights from Basel to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 5m
- When
- Every day
- Estimated price
- €95–650
- Website
- ita-airways.com
Flights from Zurich Airport to Milano Malpensa Airport
- Ave. Duration
- 56 min
- When
- Every day
- Estimated price
- €70–210
Flights from Zurich Airport to Milan Linate Airport via Rome
- Ave. Duration
- 4h 20m
- When
- Every day
- Estimated price
- €75–380
Flights from Zurich Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 50m
- When
- Saturday
- Estimated price
- €100–550
- Website
- airdolomiti.it
Flights from Zurich Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 35m
- When
- Monday, Tuesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €100–550
Flights from Basel to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 33m
- When
- Monday, Wednesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €120–650
- Website
- austrian.com
Flights from Zurich Airport to Milan Linate Airport via Vienna
- Ave. Duration
- 4h 26m
- When
- Every day
- Estimated price
- €80–310
Flights from Basel to Milan Linate Airport via Vienna
- Ave. Duration
- 4h
- When
- Monday to Saturday
- Estimated price
- €90–370
- Website
- swiss.com
Flights from Zurich Airport to Milano Malpensa Airport
- Ave. Duration
- 56 min
- When
- Every day
- Estimated price
- €70–210
- Website
- ethiopianairlines.com
Flights from Zurich Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €75–190
- Website
- easyjet.com
Flights from Basel to Milan Linate Airport via Figari
- Ave. Duration
- 5h
- When
- Wednesday
- Estimated price
- €160–270
- Website
- airfrance.com
Flights from Basel to Milan Linate Airport via Paris Charles de Gaulle
- Ave. Duration
- 5h 5m
- When
- Monday, Wednesday, Thursday, Friday, and Saturday
- Estimated price
- €60–340
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Olten to Lugano
- Ave. Duration
- 2h 28m
- Frequency
- Every 3 hours
- Estimated price
- €75–220
- Website
- https://www.sbb.ch/en
Train from Olten to Zürich HB
- Ave. Duration
- 36 min
- Frequency
- Every 20 minutes
- Estimated price
- €19–60
- Website
- https://www.sbb.ch/en
Train from Olten to Zürich Flughafen
- Ave. Duration
- 51 min
- Frequency
- Hourly
- Estimated price
- €23–70
- Website
- https://www.sbb.ch/en
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Lugano to Monza
- Ave. Duration
- 1h 4m
- Frequency
- Hourly
- Estimated price
- €5–7
- Website
- https://www.trenord.it/en/
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
Train from Cadenazzo to Monza
- Ave. Duration
- 1h 27m
- Frequency
- Hourly
- Estimated price
- €6–9
- Website
- https://www.trenord.it/en/
- Phone
- +41 58 580 70 70
- info@sob.ch
- Website
- sob.ch
Train from Olten to Zürich HB
- Ave. Duration
- 36 min
- Frequency
- Every 2 hours
- Estimated price
- €22–35
- Schedules at
- sob.ch
Train from Olten to Cadenazzo
- Ave. Duration
- 3h 42m
- Frequency
- Every 4 hours
- Estimated price
- €70–110
- Schedules at
- sob.ch
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Zurich Bus Station to Milan
- Ave. Duration
- 3h 35m
- Frequency
- Every 3 hours
- Estimated price
- €18–35
- Website
- https://www.flixbus.co.uk
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
Book your Olten to Monza train tickets online with Omio.
There are 14685+ hotels available in Monza.


















