There are 10 ways to get from Porto to Locarno by plane, train, bus, train (Renfe, Trenitalia), 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)plane OPO - MXP
- Take the train from Malpensa Aeroporto T1 to Mendrisiotrain
- Take the train from Mendrisio to Locarnotrain
7h 31mCHF 60–220Fly to Milan Linate Airport, train
cheapest- Fly from Francisco De Sá Carneiro Airport (OPO) to Milan Linate Airport (LIN)plane OPO - LIN
- Take the train from Monza to Locarnotrain
8h 12mCHF 45–214Bus, train via Lyon
- Take the bus from Porto - TIC Campanhã to Lyon - Perrache Bus Stationbus
- Take the bus from Lyon - Perrache Bus Station to Geneva - Bus Stationbus
- Take the train from Genève to Locarnotrain Ic
30h 25mCHF 105–228Train
- Take the train from Porto Campanha to Redondela De Galiciatrain Ic
- Take the train from Redondela De Galicia to Barcelona-Santstrain Alv
- Take the train from Barcelona-Sants to Lyon Part Dieutrain
- Take the train from Lyon Part Dieu to Milano Centraletrain Fr
- Take the train from Milano Centrale to Locarnotrain
31h 23mCHF 183–317Drive 1,908.4 km
- Drive from Porto to Locarnocar 1,908.4 km
20h 41mCHF 300–433Fly to Zurich Airport, train
- Fly from Francisco De Sá Carneiro Airport (OPO) to Zurich Airport (ZRH)plane OPO - ZRH
- Take the train from Zürich HB to Bellinzonatrain
7h 41mCHF 84–225Fly to Il Caravaggio International Airport, train
- Fly from Francisco De Sá Carneiro Airport (OPO) to Il Caravaggio International Airport (BGY)plane OPO - BGY
- Take the train from Milano Centrale to Locarnotrain
8h 29mCHF 68–277Fly to Basel, train
- Fly from Francisco De Sá Carneiro Airport (OPO) to Basel (BSL)plane OPO - BSL
- Take the train from Basel SBB to Bellinzonatrain
9h 8mCHF 75–297Fly to Geneva International Airport, train
- Fly from Francisco De Sá Carneiro Airport (OPO) to Geneva International Airport (GVA)plane OPO - GVA
- Take the train from Genève-Aéroport to Locarnotrain
11h 7mCHF 87–302Bus, train
- Take the bus from Porto to Martignybus
- Take the train from Martigny to Brigtrain
- Take the train from Domodossola to Locarno FARTtrain 72 / ...
35h 13mCHF 70–252
Porto to Locarno by bus, foot, and train
Questions & Answers
The cheapest way to get from Porto to Locarno is to fly and train which costs SFr 45 - SFr 220 and takes 8h 12m.
The fastest way to get from Porto to Locarno is to fly and train which takes 7h 31m and costs SFr 60 - SFr 220.
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 23m.
The distance between Porto and Locarno is 1607 km. The road distance is 1908.4 km.
The best way to get from Porto to Locarno without a car is to bus and train via Lyon which takes 30h 25m and costs SFr 100 - SFr 230.
It takes approximately 7h 31m 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 7:16 PM in Porto and 8:16 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 1908 km. It takes approximately 20h 41m 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 23m.
- Website
- easyjet.com
Flights from Francisco De Sá Carneiro Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 25m
- When
- Tuesday, Thursday, and Saturday
- Estimated price
- CHF 25–85
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 55m
- When
- Wednesday and Thursday
- Estimated price
- CHF 30–180
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 27m
- When
- Monday, Thursday, Friday, and Sunday
- Estimated price
- CHF 35–110
Flights from Francisco De Sá Carneiro Airport to Basel
- Ave. Duration
- 2h 26m
- When
- Every day
- Estimated price
- CHF 35–200
Flights from Francisco De Sá Carneiro Airport to Basel via Bordeaux
- Ave. Duration
- 4h 15m
- When
- Friday
- Estimated price
- CHF 35–200
Flights from Francisco De Sá Carneiro Airport to Basel via Nice
- Ave. Duration
- 5h 25m
- When
- Sunday
- Estimated price
- CHF 35–200
Flights from Francisco De Sá Carneiro Airport to Geneva International Airport
- Ave. Duration
- 2h 16m
- When
- Every day
- Estimated price
- CHF 29–160
Flights from Francisco De Sá Carneiro Airport to Geneva International Airport via Nice
- Ave. Duration
- 4h 47m
- When
- Monday and Sunday
- Estimated price
- CHF 29–160
- Website
- swiss.com
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 31m
- When
- Every day
- Estimated price
- CHF 50–120
Flights from Francisco De Sá Carneiro Airport to Geneva International Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- CHF 55–210
- Website
- flytap.com
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 31m
- When
- Every day
- Estimated price
- CHF 50–120
Flights from Francisco De Sá Carneiro Airport to Geneva International Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- CHF 55–210
- Website
- ryanair.com
Flights from Francisco De Sá Carneiro Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 40m
- When
- Monday, Thursday, Saturday, and Sunday
- Estimated price
- CHF 35–160
Flights from Francisco De Sá Carneiro Airport to Il Caravaggio International Airport
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- CHF 55–180
- 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 75–150
- Website
- comlux.com
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 30m
- When
- Wednesday
- Estimated price
- CHF 60–370
- Website
- flexflight.dk
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 30m
- When
- Wednesday
- Estimated price
- CHF 60–370
- 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/
Train from Milano Centrale to Locarno
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- CHF 7–10
- 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 Genève to Locarno
- Ave. Duration
- 5h 3m
- Frequency
- Once a week
- Estimated price
- CHF 60–130
- Website
- https://www.sbb.ch/en
Train from Milano Centrale to Locarno
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- CHF 35–70
- 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 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 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 Martigny to Brig
- Ave. Duration
- 57 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 15–35
- Website
- https://www.sbb.ch/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 40m
- Frequency
- 6 times a week
- Estimated price
- CHF 45–65
- 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 45–65
- 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 44m
- Frequency
- Twice daily
- Estimated price
- CHF 45–100
- 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 2 hours
- Schedules at
- sob.ch
Train from Basel SBB to Bellinzona
- Ave. Duration
- 3h 56m
- 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
- +41 27 720 47 47
- info@regionalps.ch
- Website
- regionalps.ch
Train from Martigny to Brig
- Ave. Duration
- 1h 9m
- 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–13
- Website
- Autolinee FART
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Porto - TIC Campanhã to Lyon - Perrache Bus Station
- Ave. Duration
- 21h 10m
- Frequency
- Once daily
- Estimated price
- CHF 35–85
- Website
- https://www.blablacar.co.uk/bus
Bus from Lyon - Perrache Bus Station to Geneva - Bus Station
- Ave. Duration
- 2h 5m
- Frequency
- Every 3 hours
- Estimated price
- CHF 7–15
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +420 222 222 221
- info@regiojet.cz
- Website
- regiojet.com
Bus from Lyon - Perrache Bus Station to Geneva - Bus Station
- Ave. Duration
- 2h 20m
- Frequency
- Once a week
- Estimated price
- CHF 8–12
- Website
- https://regiojet.com/
- 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 40–170
- 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 2564+ hotels available in Locarno.













































