There are 10 ways to get from Oslo to Locarno by train, plane, bus, car ferry, car, or car train
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train, fly to Milano Malpensa Airport
best- Take the train from Oslo S to Oslo lufthavn stasjontrain
- Fly from Oslo Airport, Gardermoen (OSL) to Milano Malpensa Airport (MXP)plane OSL - MXP
- Take the train from Malpensa Aeroporto T1 to Mendrisiotrain
- Take the train from Mendrisio to Locarnotrain
7h 41mCHF 78–287Train
- Take the train from Oslo S to Malmö, Centralstationtrain
- Take the train from Malmo C to Hamburg Hbftrain Ic
- Take the train from Hamburg Hbf to Kassel Bahnhof Wilhelmshöhetrain 20 / ...
- Take the train from Kassel Bahnhof Wilhelmshöhe to Basel SBBtrain 20 / ...
- Take the train from Basel SBB to Bellinzonatrain Ec
25h 25mCHF 216–492Bus
- Take the bus from Oslo bussterminal to Hamburg, Zentraler Omnibusbahnhofbus
- Take the bus from Hamburg, Zentraler Omnibusbahnhof to Zurich Bus Stationbus N24 / ...
- Take the bus from Zurich to Castione-Arbedobus
33h 22mCHF 95–163Car ferry, train
- Take the car ferry from Oslo Vipperangen to Port of Kielcarferry
- Take the train from Kiel Hbf to Hamburg Hbftrain Re7
- Take the train from Hamburg Hbf to Basel SBBtrain 20 / ...
- Take the train from Basel SBB to Locarnotrain
35h 25mTrain, fly to Zurich Airport
- Take the train from Oslo S to Oslo lufthavn stasjontrain
- Fly from Oslo Airport, Gardermoen (OSL) to Zurich Airport (ZRH)plane OSL - ZRH
- Take the train from Zürich HB to Bellinzonatrain
7h 31mCHF 127–313Train, fly to Milan Linate Airport
- Take the train from Oslo S to Oslo lufthavn stasjontrain
- Fly from Oslo Airport, Gardermoen (OSL) to Milan Linate Airport (LIN)plane OSL - LIN
- Take the train from Monza to Locarnotrain
9h 52mCHF 78–421Train, fly to Geneva International Airport
- Take the train from Oslo S to Oslo lufthavn stasjontrain
- Fly from Oslo Airport, Gardermoen (OSL) to Geneva International Airport (GVA)plane OSL - GVA
- Take the train from Genève-Aéroport to Locarnotrain
11h 17mCHF 125–339Bus, train
- Take the bus from Oslo bussterminal to Słubicebus
- Take the bus from SŁUBICE, Port Świecko, Świecko 39 to ZÜRICH, Carparkplatz am Sihlquaibus
- Take the train from Zürich HB to Locarnotrain
40h 42mCHF 175–252Drive 2,087.3 km
- Drive from Oslo to Locarnocar 2,087.3 km
19h 33mCHF 349–504Drive, car train
- Drive from Oslo to Hamburg Hbfcar
- Take the car train from Hamburg Hbf to München Ostcartrain
- Drive from München Ost to Locarnocar
19h 30mCHF 327–1,101
Oslo to Locarno by train
Questions & Answers
The cheapest way to get from Oslo to Locarno is to bus which costs SFr 95 - SFr 170 and takes 33h 22m.
The fastest way to get from Oslo to Locarno is to train and fly which takes 7h 31m and costs SFr 120 - SFr 320.
No, there is no direct train from Oslo to Locarno. However, there are services departing from Oslo S and arriving at Locarno via Malmo C, Hamburg Hbf, Kassel Bahnhof Wilhelmshöhe, Basel SBB and Bellinzona. The journey, including transfers, takes approximately 25h 25m.
The distance between Oslo and Locarno is 1786 km. The road distance is 2087.3 km.
The best way to get from Oslo to Locarno without a car is to train which takes 25h 25m and costs SFr 210 - SFr 500.
It takes approximately 7h 41m to get from Oslo to Locarno, including transfers.
Oslo to Locarno train services, operated by Norwegian Railways (VY), depart from Oslo S station.
The best way to get from Oslo to Locarno is to train which takes 25h 25m and costs SFr 210 - SFr 500. Alternatively, you can bus, which costs SFr 95 - SFr 170 and takes 33h 22m.
Oslo to Locarno train services, operated by Norwegian Railways (VY), arrive at Malmö, Centralstation.
Yes, the driving distance between Oslo to Locarno is 2087 km. It takes approximately 19h 33m to drive from Oslo to Locarno.
What companies run services between Oslo, Norway and Locarno, Switzerland?
You can take a train from Oslo S to Locarno via Malmo C, Hamburg Hbf, Kassel Bahnhof Wilhelmshöhe, Basel SBB, and Bellinzona in around 25h 25m. Alternatively, you can take a bus from Oslo bussterminal to Locarno, Debarcadero via Hamburg, Zentraler Omnibusbahnhof, Zurich Bus Station, Zurich, Castione-Arbedo, Castione-Arbedo, Bellinzona, and Bellinzona, Stazione in around 33h 22m.
- Website
- flysas.com
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport
- Ave. Duration
- 2h 45m
- When
- Every day
- Estimated price
- CHF 75–550
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport via Copenhagen
- Ave. Duration
- 4h 33m
- When
- Every day
- Estimated price
- CHF 75–550
Flights from Oslo Airport, Gardermoen to Zurich Airport
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- CHF 70–200
Flights from Oslo Airport, Gardermoen to Zurich Airport via Copenhagen
- Ave. Duration
- 4h 25m
- When
- Every day
- Estimated price
- CHF 70–200
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Copenhagen
- Ave. Duration
- 5h 15m
- When
- Sunday
- Estimated price
- CHF 45–450
Flights from Oslo Airport, Gardermoen to Geneva International Airport
- Ave. Duration
- 2h 35m
- When
- Tuesday, Saturday, and Sunday
- Estimated price
- CHF 75–200
Flights from Oslo Airport, Gardermoen to Geneva International Airport via Copenhagen
- Ave. Duration
- 4h 38m
- When
- Monday to Saturday
- Estimated price
- CHF 75–200
- Website
- lufthansa.com
Flights from Oslo Airport, Gardermoen to Zurich Airport via Frankfurt
- Ave. Duration
- 4h 48m
- When
- Every day
- Estimated price
- CHF 65–270
Flights from Oslo Airport, Gardermoen to Zurich Airport via Munich
- Ave. Duration
- 4h 30m
- When
- Every day
- Estimated price
- CHF 65–280
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 28m
- When
- Every day
- Estimated price
- CHF 70–290
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Munich
- Ave. Duration
- 7h
- When
- Every day
- Estimated price
- CHF 70–290
- Website
- norwegian.com
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport
- Ave. Duration
- 2h 40m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- CHF 35–140
Flights from Oslo Airport, Gardermoen to Zurich Airport
- Ave. Duration
- 2h 20m
- When
- Thursday
- Estimated price
- CHF 60–160
Flights from Oslo Airport, Gardermoen to Geneva International Airport
- Ave. Duration
- 2h 30m
- When
- Thursday, Saturday, and Sunday
- Estimated price
- CHF 55–180
- Website
- swiss.com
Flights from Oslo Airport, Gardermoen to Milano Malpensa Airport via Zurich Airport
- Ave. Duration
- 5h 5m
- When
- Every day
- Estimated price
- CHF 55–220
Flights from Oslo Airport, Gardermoen to Zurich Airport
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- CHF 60–250
Flights from Oslo Airport, Gardermoen to Geneva International Airport via Zurich Airport
- Ave. Duration
- 4h 35m
- When
- Every day
- Estimated price
- CHF 75–160
- Website
- brusselsairlines.com
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Brussels
- Ave. Duration
- 5h 10m
- When
- Monday, Tuesday, Friday, and Saturday
- Estimated price
- CHF 60–250
Flights from Oslo Airport, Gardermoen to Geneva International Airport via Brussels
- Ave. Duration
- 4h 30m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- CHF 55–240
- Website
- ita-airways.com
Flights from Oslo Airport, Gardermoen to Milan Linate Airport via Hamburg
- Ave. Duration
- 4h 15m
- When
- Sunday
- Estimated price
- CHF 55–200
- Phone
- 23 15 90 00
- flytoget@flytoget.no
- Website
- flytoget.no
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 22 min
- Frequency
- Every 15 minutes
- Estimated price
- CHF 17–19
- Website
- https://flytoget.no/en/
- Phone
- +47 61 05 19 10
- tog@vy.no
- Website
- vy.no
Train from Oslo S to Oslo lufthavn stasjon
- Ave. Duration
- 23 min
- Frequency
- Every 20 minutes
- Estimated price
- CHF 10–15
- Website
- https://www.vy.no/en
Train from Oslo S to Malmö, Centralstation
- Ave. Duration
- 6h 10m
- Frequency
- Twice a week
- Estimated price
- CHF 95–140
- Website
- https://www.vy.no/en
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Malpensa Aeroporto T1 to Mendrisio
- Ave. Duration
- 1h 8m
- Frequency
- Hourly
- Estimated price
- CHF 4–6
- Website
- https://www.trenord.it/en/
Train from Mendrisio to Locarno
- Ave. Duration
- 57 min
- Frequency
- Hourly
- Estimated price
- CHF 4–6
- Website
- https://www.trenord.it/en/
Train from Monza to Locarno
- Ave. Duration
- 1h 45m
- Frequency
- Hourly
- Estimated price
- CHF 5–7
- Website
- https://www.trenord.it/en/
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Malpensa Aeroporto T1 to Mendrisio
- Ave. Duration
- 1h 8m
- Frequency
- Hourly
- Estimated price
- CHF 24–45
- Website
- https://www.sbb.ch/en
Train from Mendrisio to Locarno
- Ave. Duration
- 57 min
- Frequency
- Hourly
- Estimated price
- CHF 19–23
- Website
- https://www.sbb.ch/en
Train from Basel SBB to Bellinzona
- Ave. Duration
- 2h 38m
- Frequency
- Every 3 hours
- Estimated price
- CHF 50–90
- Website
- https://www.sbb.ch/en
Train from Zürich HB to Bellinzona
- Ave. Duration
- 1h 39m
- Frequency
- Hourly
- Estimated price
- CHF 30–65
- Website
- https://www.sbb.ch/en
Train from Genève-Aéroport to Locarno
- Ave. Duration
- 5h 12m
- Frequency
- Once a week
- Estimated price
- CHF 50–130
- Website
- https://www.sbb.ch/en
Train from Zürich HB to Locarno
- Ave. Duration
- 2h 14m
- Frequency
- Twice a week
- Estimated price
- CHF 35–70
- Website
- https://www.sbb.ch/en
- Phone
- +46 40 669 62 00
- snalltaget@snalltaget.se
- Website
- snalltaget.se
Train from Malmo C to Hamburg Hbf
- Ave. Duration
- 5h 42m
- Frequency
- Once daily
- Estimated price
- CHF 40–90
- Website
- https://www.snalltaget.se/en
- Phone
- +49 30 311 682904
- Website
- bahn.de
Train from Hamburg Hbf to Kassel Bahnhof Wilhelmshöhe
- Ave. Duration
- 3h 2m
- Frequency
- Every 30 minutes
- Estimated price
- CHF 15–65
- Website
- https://int.bahn.de/en
Train from Kassel Bahnhof Wilhelmshöhe to Basel SBB
- Ave. Duration
- 4h 33m
- Frequency
- Hourly
- Estimated price
- CHF 40–100
- Website
- https://int.bahn.de/en
Train from Kiel Hbf to Hamburg Hbf
- Ave. Duration
- 1h 6m
- Frequency
- Every 3 hours
- Estimated price
- CHF 9–23
- Website
- https://int.bahn.de/en
Train from Hamburg Hbf to Basel SBB
- Ave. Duration
- 7h 37m
- Frequency
- Hourly
- Estimated price
- CHF 55–130
- Website
- https://int.bahn.de/en
- Phone
- +49 30 300 137 300
- info@flixbus.de
- Website
- flixtrain.de
Train from Hamburg Hbf to Kassel Bahnhof Wilhelmshöhe
- Ave. Duration
- 5h 15m
- Frequency
- Once daily
- Estimated price
- CHF 21–30
- Website
- https://www.flixtrain.com/
- Phone
- +41 58 580 70 70
- info@sob.ch
- Website
- sob.ch
Train from Basel SBB to Bellinzona
- Ave. Duration
- 3h 56m
- Frequency
- Every 4 hours
- Schedules at
- sob.ch
Train from Basel SBB to Locarno
- Ave. Duration
- 4h 23m
- Frequency
- Every 4 hours
- Schedules at
- sob.ch
Train from Zürich HB to Bellinzona
- Ave. Duration
- 2h 55m
- Frequency
- Every 2 hours
- Schedules at
- sob.ch
Train from Zürich HB to Locarno
- Ave. Duration
- 3h 22m
- Frequency
- Every 4 hours
- Schedules at
- sob.ch
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- sbb-deutschland.de
Train from Basel SBB to Bellinzona
- Ave. Duration
- 3h 5m
- Frequency
- Once daily
- Estimated price
- CHF 16–21
- Schedules at
- sbb-deutschland.de
- Phone
- +49 30 2970
- Website
- bahn.de
Train from Kiel Hbf to Hamburg Hbf
- Ave. Duration
- 1h 14m
- Frequency
- Every 30 minutes
- Estimated price
- CHF 16–24
- Website
- https://int.bahn.de/en
- Phone
- +43 5 1717
- Website
- konzern.oebb.at
Train from Hamburg Hbf to Basel SBB
- Ave. Duration
- 10h 37m
- Frequency
- Twice daily
- Estimated price
- CHF 150–220
- Website
- https://konzern.oebb.at/en/
- Phone
- +49 (0) 221 800 20 820
- info@urlaubs-express.de
- Website
- urlaubs-express.de
Car train from Hamburg Hbf to München Ost
- Ave. Duration
- 4h 37m
- Frequency
- Once daily
- Estimated price
- CHF 90–750
- Website
- https://urlaubs-express.de/?lang=en
- Car Single Bed
- CHF 360–400
- Car Compartment
- CHF 650–750
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Oslo bussterminal to Hamburg, Zentraler Omnibusbahnhof
- Ave. Duration
- 14h 25m
- Frequency
- Once daily
- Estimated price
- CHF 40–85
- Website
- https://www.flixbus.co.uk
Bus from Hamburg, Zentraler Omnibusbahnhof to Zurich Bus Station
- Ave. Duration
- 13h
- Frequency
- Twice daily
- Estimated price
- CHF 35–60
- Website
- https://www.flixbus.co.uk
- Phone
- +390975 343195
- info@ventrebus.com
- Website
- ventrebus.com
Bus from Zurich to Castione-Arbedo
- Ave. Duration
- 2h 45m
- Frequency
- Twice a week
- Estimated price
- CHF 11
- Schedules at
- ventrebus.com
- Phone
- +48 801 22 33 44
- bilety@sindbad.pl
- Website
- sindbad.pl
Bus from Oslo bussterminal to Słubice
- Ave. Duration
- 21h 50m
- Frequency
- Once a week
- Estimated price
- CHF 75–110
- Website
- https://www.sindbad.pl/en/home
Bus from SŁUBICE, Port Świecko, Świecko 39 to ZÜRICH, Carparkplatz am Sihlquai
- Ave. Duration
- 13h 30m
- Frequency
- 5 times a week
- Estimated price
- CHF 65–80
- Website
- https://www.sindbad.pl/en/home
- Phone
- +45 99 56 19 00
- Website
- colorline.no
Car ferry from Oslo Vipperangen to Port of Kiel
- Ave. Duration
- 20h
- Frequency
- Once daily
- Estimated price
- CHF 185–378
- Website
- https://www.colorline.com/
- Car
- CHF 378
- No Car
- CHF 185
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
Italian Lakes: Getting around by train
Read the travel guide
How to plan an amazing trip around Scandinavia
Read the travel guide
Italy Travel Guides
Read the travel guide
More Questions & Answers
There are 2681+ hotels available in Locarno.






















































