There are 7 ways to get from Pavia to Olten by train (Trenitalia), bus, train, 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 Milano Centrale to Bellinzonatrain Ec
- Take the train from Bellinzona to Oltentrain Ic21 / ...
5h 54mCHF 57–125Train, bus
cheapest- Take the train from Pavia to Milano Bovisa Politecnicotrain S13 / ...
- Take the bus from Como Grandate to Olten Stationbus
8h 59mCHF 28–42Bus, train
- Take the bus from Milan to Zurich Bus Stationbus FlixBus N177 / ...
- Take the train from Zürich HB to Oltentrain Ic5 / ...
8h 15mCHF 42–112Drive 326.3 km
- Drive from Pavia to Oltencar 326.3 km
3h 40mCHF 51–74Fly Milan Linate Airport to Basel
- Fly from Milan Linate Airport (LIN) to Basel (BSL)plane LIN - BSL
6h 54mCHF 106–280Train, train to Milano Malpensa Airport, fly to Zurich Airport
- Take the train from Pavia to Milano Bovisa Politecnicotrain
- Take the train from Milano Bovisa Politecnico 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
6h 7mCHF 87–215Fly Milan Linate Airport to Zurich Airport, train
- Fly from Milan Linate Airport (LIN) to Zurich Airport (ZRH)plane LIN - ZRH
- Take the train from Zürich Flughafen to Oltentrain
7h 25mCHF 119–292
Pavia to Olten by train
Questions & Answers
The cheapest way to get from Pavia to Olten is to train and bus which costs SFr 27 - SFr 45 and takes 8h 59m.
The fastest way to get from Pavia to Olten is to drive which takes 3h 40m and costs SFr 50 - SFr 75.
No, there is no direct train from Pavia to Olten. However, there are services departing from Pavia and arriving at Olten via Milano Centrale and Bellinzona. The journey, including transfers, takes approximately 5h 54m.
The distance between Pavia and Olten is 324 km. The road distance is 326.3 km.
The best way to get from Pavia to Olten without a car is to train which takes 5h 54m and costs SFr 55 - SFr 130.
It takes approximately 5h 54m to get from Pavia to Olten, including transfers.
Pavia to Olten train services, operated by Trenitalia EuroCity, depart from Milano Centrale station.
The best way to get from Pavia to Olten is to train which takes 5h 54m and costs SFr 55 - SFr 130. Alternatively, you can fly, which costs SFr 100 - SFr 280 and takes 6h 54m.
Pavia to Olten train services, operated by Trenitalia EuroCity, arrive at Bellinzona station.
Yes, the driving distance between Pavia to Olten is 326 km. It takes approximately 3h 40m to drive from Pavia to Olten.
What companies run services between Pavia, Italy and Olten, Switzerland?
You can take a train from Pavia to Olten via Milano Centrale and Bellinzona in around 5h 54m. Alternatively, Lufthansa, Air Dolomiti, and three other airlines fly from Milan Linate Airport (LIN) to Basel (BSL) 4 times a day.
- Website
- lufthansa.com
Flights from Milan Linate Airport to Basel via Munich
- Ave. Duration
- 2h 55m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- CHF 90–250
Flights from Milan Linate Airport to Basel via Frankfurt
- Ave. Duration
- 3h 45m
- When
- Every day
- Estimated price
- CHF 90–380
Flights from Milan Linate Airport to Zurich Airport via Frankfurt
- Ave. Duration
- 3h 57m
- When
- Every day
- Estimated price
- CHF 95–330
Flights from Milan Linate Airport to Zurich Airport via Munich
- Ave. Duration
- 3h 47m
- When
- Every day
- Estimated price
- CHF 70–290
- Website
- airdolomiti.it
Flights from Milan Linate Airport to Basel via Frankfurt
- Ave. Duration
- 3h 45m
- When
- Every day
- Estimated price
- CHF 90–380
Flights from Milan Linate Airport to Zurich Airport via Frankfurt
- Ave. Duration
- 3h 20m
- When
- Every day
- Estimated price
- CHF 95–330
- Website
- ita-airways.com
Flights from Milano Malpensa Airport to Zurich Airport
- Ave. Duration
- 1h 1m
- When
- Every day
- Estimated price
- CHF 65–210
Flights from Milan Linate Airport to Zurich Airport via Stuttgart
- Ave. Duration
- 6h 55m
- When
- Monday to Thursday
- Estimated price
- CHF 55–210
Flights from Milan Linate Airport to Zurich Airport via Dusseldorf
- Ave. Duration
- 7h 5m
- When
- Monday to Saturday
- Estimated price
- CHF 70–290
- Website
- swiss.com
Flights from Milano Malpensa Airport to Zurich Airport
- Ave. Duration
- 1h 1m
- When
- Every day
- Estimated price
- CHF 65–210
- Website
- austrian.com
Flights from Milan Linate Airport to Zurich Airport via Vienna
- Ave. Duration
- 4h 11m
- When
- Every day
- Estimated price
- CHF 70–280
- Website
- airfrance.com
Flights from Milan Linate Airport to Basel via Paris Charles de Gaulle
- Ave. Duration
- 4h 10m
- When
- Every day
- Estimated price
- CHF 55–310
- Website
- easyjet.com
Flights from Milan Linate Airport to Basel via Rome
- Ave. Duration
- 4h 10m
- When
- Thursday
- Estimated price
- CHF 100–270
- Website
- ethiopianairlines.com
Flights from Milano Malpensa Airport to Zurich Airport
- Ave. Duration
- 1h 5m
- When
- Every day
- Estimated price
- CHF 55–150
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Milano Centrale to Bellinzona
- Ave. Duration
- 1h 36m
- Frequency
- Hourly
- Estimated price
- CHF 13–22
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 13–19
- 2nd Class
- CHF 16–22
Train from Bellinzona to Olten
- Ave. Duration
- 2h 11m
- Frequency
- Once daily
- Estimated price
- CHF 40–85
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 55–85
- 2nd Class
- CHF 40–55
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Bellinzona to Olten
- Ave. Duration
- 2h 11m
- Frequency
- Every 3 hours
- Estimated price
- CHF 60–110
- Website
- https://www.sbb.ch/en
Train from Zürich HB to Olten
- Ave. Duration
- 35 min
- Frequency
- Every 20 minutes
- Estimated price
- CHF 17–29
- Website
- https://www.sbb.ch/en
Train from Zürich Flughafen to Olten
- Ave. Duration
- 50 min
- Frequency
- Hourly
- Estimated price
- CHF 20–26
- Website
- https://www.sbb.ch/en
- Phone
- +41 58 580 70 70
- info@sob.ch
- Website
- sob.ch
Train from Bellinzona to Olten
- Ave. Duration
- 3h 29m
- Frequency
- Every 4 hours
- Schedules at
- sob.ch
Train from Zürich HB to Olten
- Ave. Duration
- 35 min
- Frequency
- Hourly
- Schedules at
- sob.ch
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Pavia to Milano Bovisa Politecnico
- Ave. Duration
- 56 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 3–5
- Website
- https://www.trenord.it/en/
Train from Milano Bovisa Politecnico to Malpensa Aeroporto T1
- Ave. Duration
- 31 min
- Frequency
- Every 20 minutes
- Estimated price
- CHF 3–5
- Website
- https://www.trenord.it/en/
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Milan to Zurich Bus Station
- Ave. Duration
- 3h 50m
- Frequency
- Every 3 hours
- Estimated price
- CHF 19–30
- Website
- https://www.flixbus.co.uk
- Phone
- +39 0827 34 117
- info@gruppodimaio.it
- Website
- gruppodimaio.it
Bus from Como Grandate to Olten Station
- Ave. Duration
- 6h
- Frequency
- Twice a week
- Estimated price
- CHF 23–35
- Schedules at
- gruppodimaio.it
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
Italy Travel Guides
Read the travel guide
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Book your Pavia to Olten train tickets online with Omio.
There are 391+ hotels available in Olten.




























