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 53mCHF 57–213Train, bus
cheapest- Take the train from Pavia to Milano Bovisa Politecnicotrain S13 / ...
- Take the bus from Como Grandate to Olten Stationbus
8h 59mCHF 29–42Bus, train
- Take the bus from Milan to Zurich Bus Stationbus FlixBus N177 / ...
- Take the train from Zürich HB to Oltentrain Ic5 / ...
8h 22mCHF 40–119Drive 326.3 km
- Drive from Pavia to Oltencar 326.3 km
3h 40mCHF 52–75Train, 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
5h 2mCHF 92–239Fly Milan Linate Airport to Basel
- Fly from Milan Linate Airport (LIN) to Basel (BSL)plane LIN - BSL
7h 34mCHF 114–316Fly 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 40mCHF 119–356
Pavia to Olten by train
Questions & Answers
The cheapest way to get from Pavia to Olten is to train and bus which costs SFr 28 - 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 53m.
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 53m and costs SFr 55 - SFr 220.
It takes approximately 5h 53m 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 53m and costs SFr 55 - SFr 220. Alternatively, you can fly, which costs SFr 110 - SFr 320 and takes 7h 34m.
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 53m. Alternatively, Lufthansa, Air Dolomiti, and four other airlines fly from Milan Linate Airport (LIN) to Basel (BSL) twice daily.
- Website
- lufthansa.com
Flights from Milan Linate Airport to Basel via Frankfurt
- Ave. Duration
- 3h 35m
- When
- Every day
- Estimated price
- CHF 90–250
Flights from Milan Linate Airport to Basel via Munich
- Ave. Duration
- 6h 10m
- When
- Sunday
- Estimated price
- CHF 90–250
Flights from Milan Linate Airport to Zurich Airport via Frankfurt
- Ave. Duration
- 3h 57m
- When
- Every day
- Estimated price
- CHF 70–300
Flights from Milan Linate Airport to Zurich Airport via Munich
- Ave. Duration
- 4h 55m
- When
- Every day
- Estimated price
- CHF 70–410
- Website
- swiss.com
Flights from Milano Malpensa Airport to Zurich Airport
- Ave. Duration
- 58 min
- When
- Every day
- Estimated price
- CHF 65–190
- Website
- easyjet.com
Flights from Milan Linate Airport to Basel via Rome
- Ave. Duration
- 3h 40m
- When
- Tuesday and Friday
- Estimated price
- CHF 95–240
Flights from Milan Linate Airport to Basel via Olbia
- Ave. Duration
- 4h 25m
- When
- Wednesday and Saturday
- Estimated price
- CHF 95–240
- Website
- austrian.com
Flights from Milan Linate Airport to Zurich Airport via Vienna
- Ave. Duration
- 4h 18m
- When
- Every day
- Estimated price
- CHF 70–290
- Website
- ethiopianairlines.com
Flights from Milano Malpensa Airport to Zurich Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- CHF 50–180
- Website
- eurowings.com
Flights from Milan Linate Airport to Zurich Airport via Dusseldorf
- Ave. Duration
- 6h
- When
- Monday to Friday
- Estimated price
- CHF 60–230
- 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–23
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- CHF 13–20
- 2nd Class
- CHF 17–23
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 60–85
- 2nd Class
- CHF 40–60
- 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–180
- 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–50
- Website
- https://www.sbb.ch/en
Train from Zürich Flughafen to Olten
- Ave. Duration
- 50 min
- Frequency
- Hourly
- Estimated price
- CHF 20–60
- Website
- https://www.sbb.ch/en
- Phone
- +41 58 580 70 70
- Website
- sob.ch
Train from Bellinzona to Olten
- Ave. Duration
- 3h 29m
- Frequency
- Every 4 hours
- Estimated price
- CHF 50–80
- Schedules at
- sob.ch
Train from Zürich HB to Olten
- Ave. Duration
- 35 min
- Frequency
- Hourly
- Estimated price
- CHF 20–30
- 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 17–35
- Website
- https://www.flixbus.co.uk
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Milan to Zurich Bus Station
- Ave. Duration
- 5h 5m
- Frequency
- 3 times a day
- Estimated price
- CHF 15–28
- Website
- https://www.itabus.it/en/home
- 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 24–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 387+ hotels available in Olten.






























