There are 10 ways to get from Porto to Locarno by plane, train, train (Renfe), bus, or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly to Milano Malpensa Airport, train
best- Fly from Francisco De Sá Carneiro Airport (OPO) to Milano Malpensa Airport (MXP)OPO - MXP
- Take the train from Malpensa Aeroporto T1 to Mendrisio
- Take the train from Mendrisio to Locarno
7h 30mCHF 45–160Fly to Milan Linate Airport, train
cheapest- Fly from Francisco De Sá Carneiro Airport (OPO) to Milan Linate Airport (LIN)OPO - LIN
- Take the train from Monza to Locarno
8h 12mCHF 40–214Train
- Take the train from Porto Campanha to Redondela De GaliciaIc
- Take the train from Redondela De Galicia to Barcelona-SantsAlv
- Take the train from Barcelona-Sants to Lyon Part Dieu
- Take the train from Lyon Part Dieu to Milano CentraleFr
- Take the train from Milano Centrale to Locarno
31h 12mCHF 210–358Bus, train via Viseu
- Take the bus from Porto - Terminal Intermodal de Campanhã to Estação Rodoviária de Viseu
- Take the bus from Viseu to Geneva - Bus Station
- Take the train from Genève to LocarnoIc
32h 31mCHF 164–282Drive 1,906.4 km
- Drive from Porto to Locarno1,906.4 km
20h 37mCHF 304–438Fly to Zurich Airport, train
- Fly from Francisco De Sá Carneiro Airport (OPO) to Zurich Airport (ZRH)OPO - ZRH
- Take the train from Zürich HB to Bellinzona
7h 41mCHF 89–246Fly to Il Caravaggio International Airport, train
- Fly from Francisco De Sá Carneiro Airport (OPO) to Il Caravaggio International Airport (BGY)OPO - BGY
- Take the train from Milano Centrale to Locarno
8h 29mCHF 73–307Fly to Basel, train
- Fly from Francisco De Sá Carneiro Airport (OPO) to Basel (BSL)OPO - BSL
- Take the train from Basel SBB to Bellinzona
9h 11mCHF 86–318Fly to Geneva International Airport, train
- Fly from Francisco De Sá Carneiro Airport (OPO) to Geneva International Airport (GVA)OPO - GVA
- Take the train from Genève-Aéroport to Locarno
11h 8mCHF 157–382Bus, train
- Take the bus from Porto to Martigny
- Take the train from Martigny to BrigIr
- Take the train from Domodossola to Locarno FART72 / ...
34h 58mCHF 155–266
Porto to Locarno by train
Questions & Answers
The cheapest way to get from Porto to Locarno is to fly and train which costs SFr 45 - SFr 160 and takes 7h 30m.
The fastest way to get from Porto to Locarno is to fly and train which takes 7h 30m and costs SFr 45 - SFr 160.
No, there is no direct train from Porto to Locarno. However, there are services departing from Porto Campanha and arriving at Locarno via Redondela De Galicia, Barcelona-Sants, Lyon Part Dieu and Milano Centrale. The journey, including transfers, takes approximately 31h 12m.
The distance between Porto and Locarno is 1607 km. The road distance is 1906.4 km.
The best way to get from Porto to Locarno without a car is to train which takes 31h 12m and costs SFr 210 - SFr 360.
It takes approximately 7h 30m to get from Porto to Locarno, including transfers.
Porto to Locarno train services, operated by Renfe Viajeros, depart from Porto Campanha station.
Locarno is 1h ahead of Porto. It is currently 2:19 PM in Porto and 3:19 PM in Locarno.
Porto to Locarno train services, operated by Renfe Viajeros, arrive at Redondela De Galicia station.
Yes, the driving distance between Porto to Locarno is 1906 km. It takes approximately 20h 37m to drive from Porto to Locarno.
What companies run services between Porto, Portugal and Locarno, Switzerland?
You can take a train from Porto Campanha to Locarno via Redondela De Galicia, Barcelona-Sants, Lyon Part Dieu, and Milano Centrale in around 31h 12m.
- Website
- easyjet.com
Flights from Francisco De Sá Carneiro Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 27m
- When
- Tuesday, Thursday, Saturday, and Sunday
- Estimated price
- CHF 26–85
Flights from Francisco De Sá Carneiro Airport to Milano Malpensa Airport via Bordeaux
- Ave. Duration
- 4h 50m
- When
- Monday
- Estimated price
- CHF 26–85
Flights from Francisco De Sá Carneiro Airport to Milano Malpensa Airport via Nantes
- Ave. Duration
- 5h 40m
- When
- Friday
- Estimated price
- CHF 26–85
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 34m
- When
- Every day
- Estimated price
- CHF 35–130
Flights from Francisco De Sá Carneiro Airport to Milan Linate Airport
- Ave. Duration
- 2h 30m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- CHF 30–180
Flights from Francisco De Sá Carneiro Airport to Milan Linate Airport via Paris Orly
- Ave. Duration
- 5h 25m
- When
- Wednesday, Thursday, and Saturday
- Estimated price
- CHF 30–180
Flights from Francisco De Sá Carneiro Airport to Basel
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- CHF 40–200
Flights from Francisco De Sá Carneiro Airport to Basel via Nice
- Ave. Duration
- 5h 25m
- When
- Sunday
- Estimated price
- CHF 40–200
Flights from Francisco De Sá Carneiro Airport to Geneva International Airport
- Ave. Duration
- 2h 16m
- When
- Every day
- Estimated price
- CHF 30–160
Flights from Francisco De Sá Carneiro Airport to Geneva International Airport via Nice
- Ave. Duration
- 4h 20m
- When
- Sunday
- Estimated price
- CHF 30–160
Flights from Francisco De Sá Carneiro Airport to Geneva International Airport via Nantes
- Ave. Duration
- 4h 25m
- When
- Sunday
- Estimated price
- CHF 30–160
- Website
- ryanair.com
Flights from Francisco De Sá Carneiro Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 40m
- When
- Tuesday, Thursday, Saturday, and Sunday
- Estimated price
- CHF 45–150
Flights from Francisco De Sá Carneiro Airport to Il Caravaggio International Airport
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- CHF 60–180
Flights from Francisco De Sá Carneiro Airport to Il Caravaggio International Airport via Marseille
- Ave. Duration
- 5h 41m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- CHF 60–180
- Website
- swiss.com
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 31m
- When
- Every day
- Estimated price
- CHF 50–150
Flights from Francisco De Sá Carneiro Airport to Geneva International Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- CHF 55–140
- Website
- flytap.com
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 31m
- When
- Every day
- Estimated price
- CHF 50–150
Flights from Francisco De Sá Carneiro Airport to Geneva International Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- CHF 55–140
- Website
- iberia.com
Flights from Francisco De Sá Carneiro Airport to Milan Linate Airport via Madrid
- Ave. Duration
- 5h
- When
- Every day
- Estimated price
- CHF 80–190
Flights from Francisco De Sá Carneiro Airport to Geneva International Airport via Madrid
- Ave. Duration
- 4h 25m
- When
- Monday, Wednesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- CHF 45–180
- Website
- comlux.com
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 30m
- When
- Wednesday
- Estimated price
- CHF 100–550
- Website
- flexflight.dk
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 30m
- When
- Wednesday
- Estimated price
- CHF 100–550
- 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–22
- Website
- https://www.sbb.ch/en
Train from Genève to Locarno
- Ave. Duration
- 5h 4m
- Frequency
- Once a week
- Estimated price
- CHF 75–150
- Website
- https://www.sbb.ch/en
Train from Zürich HB to Bellinzona
- Ave. Duration
- 1h 37m
- Frequency
- Hourly
- Estimated price
- CHF 35–65
- Website
- https://www.sbb.ch/en
Train from Basel SBB to Bellinzona
- Ave. Duration
- 2h 39m
- Frequency
- Every 2 hours
- Estimated price
- CHF 50–90
- Website
- https://www.sbb.ch/en
Train from Genève-Aéroport to Locarno
- Ave. Duration
- 5h 13m
- Frequency
- Once a week
- Estimated price
- CHF 120–220
- Website
- https://www.sbb.ch/en
Train from Martigny to Brig
- Ave. Duration
- 49 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 14–29
- Website
- https://www.sbb.ch/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 Milano Centrale to Locarno
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- CHF 7–10
- 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
- +34 91 232 03 20
- Website
- renfe.com
Train from Porto Campanha to Redondela De Galicia
- Ave. Duration
- 2h 15m
- Frequency
- Twice daily
- Estimated price
- CHF 13–18
- Website
- https://www.renfe.com/es/en
Train from Redondela De Galicia to Barcelona-Sants
- Ave. Duration
- 13h 39m
- Frequency
- 6 times a week
- Estimated price
- CHF 95–130
- Website
- https://www.renfe.com/es/en
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 5h 6m
- Frequency
- Once daily
- Estimated price
- CHF 50–70
- Website
- https://www.renfe.com/es/en
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Lyon Part Dieu to Milano Centrale
- Ave. Duration
- 4h 37m
- Frequency
- Twice daily
- Estimated price
- CHF 45–130
- Website
- https://www.trenitalia.com/en.html
- Phone
- +41 58 580 70 70
- info@sob.ch
- Website
- sob.ch
Train from Zürich HB to Bellinzona
- Ave. Duration
- 2h 55m
- Frequency
- Every 4 hours
- Schedules at
- sob.ch
Train from Basel SBB to Bellinzona
- Ave. Duration
- 3h 57m
- 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 17–22
- Schedules at
- sbb-deutschland.de
- Phone
- +41 27 720 47 47
- info@regionalps.ch
- Website
- regionalps.ch
Train from Martigny to Brig
- Ave. Duration
- 1h 8m
- Frequency
- Hourly
- Estimated price
- CHF 25–51
- Schedules at
- regionalps.ch
- 2nd Class Ticket
- CHF 25–29
- 1st Class Ticket
- CHF 45–51
- Phone
- +41 (0)91 756 04 00
- fart@centovalli.ch
- Website
- centovalli.ch
Train from Domodossola to Locarno FART
- Ave. Duration
- 1h 54m
- Frequency
- Hourly
- Estimated price
- CHF 9–14
- Website
- Autolinee FART
- Phone
- +351 21 75 24 524
- Website
- rede-expressos.pt
Bus from Porto - Terminal Intermodal de Campanhã to Estação Rodoviária de Viseu
- Ave. Duration
- 1h 45m
- Frequency
- Hourly
- Estimated price
- CHF 3–13
- Website
- https://rede-expressos.pt/en
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Viseu to Geneva - Bus Station
- Ave. Duration
- 23h 35m
- Frequency
- Once daily
- Estimated price
- CHF 85–120
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Porto to Martigny
- Ave. Duration
- 30h 35m
- Frequency
- 3 times a week
- Estimated price
- CHF 130–180
- Website
- https://www.flixbus.co.uk
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
Italy Travel Guides
Read the travel guide
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
More Questions & Answers
There are 2458+ hotels available in Locarno.
















































