There are 10 ways to get from Porto to Bern by plane, train, bus, train (Renfe, TGV), 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 Zurich Airport, train
best- Fly from Francisco De Sá Carneiro Airport (OPO) to Zurich Airport (ZRH)plane OPO - ZRH
- Take the train from Zürich Flughafen to Berntrain
6h 37mCHF 87–252Fly to Milano Malpensa Airport, bus, train
cheapest- Fly from Francisco De Sá Carneiro Airport (OPO) to Milano Malpensa Airport (MXP)plane OPO - MXP
- Take the bus from Aeroporto Malpensa - Terminal 1 to Domodossola - Stazione Ferroviariabus
- Take the train from Brig to Berntrain
9h 40mCHF 82–280Bus, train via Saint-Étienne
- Take the bus from Porto - Terminal Intermodal de Campanhã to Saint-Étienne - Rue Milleret Bus Stopbus
- Take the train from St Etienne Chateaucreux to Lyon Part Dieutrain Ter
- Take the train from Lyon Part Dieu to Genevetrain Ter
- Take the train from Genève to Berntrain Ic1 / ...
26h 37mCHF 180–301Train
- Take the train from Porto Campanha to Redondela De Galiciatrain Ic
- Take the train from Pontevedra to Barcelona-Santstrain Alv
- Take the train from Barcelona-Sants to Lyon Part Dieutrain
- Take the train from Lyon Part Dieu to Genevetrain Ter
- Take the train from Genève to Berntrain Ic1 / ...
29h 29mCHF 327–560Drive 1,767.7 km
- Drive from Porto to Berncar 1,767.7 km
18h 23mCHF 297–429Fly to Basel, train
- Fly from Francisco De Sá Carneiro Airport (OPO) to Basel (BSL)plane OPO - BSL
- Take the train from Basel SBB to Berntrain
6h 41mCHF 88–283Fly 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 Berntrain
7h 30mCHF 97–337Bus via Lyon
- Take the bus from Porto - Hospital de São João to Lyon, Perrache Bus Stationbus Linha Lyon Express
- Take the bus from Lyon Perrache Bus Station to Bern Car Terminal Neufeldbus : Lyon - Prague Central Bus Station / ...
31h 21mCHF 83–114Bus, train
- Take the bus from Porto to Lausannebus FlixBus N1157
- Take the train from Lausanne to Berntrain Ir15 / ...
31h 51mCHF 176–262Bus
- Take the bus from Porto to Coimbrabus 1022 / ...
- Take the bus from Coimbra to Bernbus FlixBus N1156
33h 30mCHF 159–253
Porto to Bern by bus and train
Comparing Your Travel Options
The cheapest way to get from Porto to Bern is to bus via Lyon which costs SFr 80 - SFr 120 and takes 31h 21m.
The fastest way to get from Porto to Bern is to fly and train which takes 6h 37m and costs SFr 85 - SFr 260.
No, there is no direct bus from Porto to Bern. However, there are services departing from Porto - Hospital de São João and arriving at Bern Car Terminal Neufeld via Lyon Perrache Bus Station. The journey, including transfers, takes approximately 31h 21m.
No, there is no direct train from Porto to Bern. However, there are services departing from Porto Campanha and arriving at Bern via Redondela De Galicia, Pontevedra, Barcelona-Sants, Lyon Part Dieu and Genève. The journey, including transfers, takes approximately 29h 29m.
The distance between Porto and Bern is 1670 km. The road distance is 1767.7 km.
The best way to get from Porto to Bern without a car is to bus and train via Saint-Étienne which takes 26h 37m and costs SFr 180 - SFr 310.
It takes approximately 6h 37m to get from Porto to Bern, including transfers.
Porto to Bern bus services, operated by Transportes Barquense, depart from Porto - Hospital de São João station.
Porto to Bern train services, operated by Renfe Viajeros, depart from Porto Campanha station.
The best way to get from Porto to Bern is to train which takes 29h 29m and costs SFr 320 - SFr 600. Alternatively, you can bus via Lyon, which costs SFr 80 - SFr 120 and takes 31h 21m.
What companies run services between Porto, Portugal and Bern, Switzerland?
You can take a train from Porto Campanha to Bern via Redondela De Galicia, Pontevedra, Barcelona-Sants, Lyon Part Dieu, and Genève in around 29h 29m. Alternatively, you can take a subway from Aliados to Bern Car Terminal Neufeld via Hospital São João, Porto - Hospital de São João, and Lyon Perrache Bus Station in around 31h 21m.
- Website
- easyjet.com
Flights from Francisco De Sá Carneiro Airport to Zurich Airport
- Ave. Duration
- 2h 33m
- When
- Every day
- Estimated price
- CHF 40–140
Flights from Francisco De Sá Carneiro Airport to Basel
- Ave. Duration
- 2h 28m
- When
- Every day
- Estimated price
- CHF 45–200
Flights from Francisco De Sá Carneiro Airport to Basel via Nantes
- Ave. Duration
- 4h 27m
- When
- Friday and Monday
- Estimated price
- CHF 45–200
Flights from Francisco De Sá Carneiro Airport to Basel via Bordeaux
- Ave. Duration
- 5h 20m
- When
- Friday, Sunday, and Monday
- Estimated price
- CHF 45–200
Flights from Francisco De Sá Carneiro Airport to Geneva International Airport
- Ave. Duration
- 2h 12m
- When
- Every day
- Estimated price
- CHF 35–230
Flights from Francisco De Sá Carneiro Airport to Geneva International Airport via Nice
- Ave. Duration
- 4h
- When
- Thursday and Saturday
- Estimated price
- CHF 35–230
Flights from Francisco De Sá Carneiro Airport to Geneva International Airport via Nantes
- Ave. Duration
- 4h 45m
- When
- Thursday and Sunday
- Estimated price
- CHF 35–230
Flights from Francisco De Sá Carneiro Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 25m
- When
- Monday and Friday
- Estimated price
- CHF 45–210
Flights from Francisco De Sá Carneiro Airport to Milano Malpensa Airport via Nantes
- Ave. Duration
- 5h 20m
- When
- Wednesday
- Estimated price
- CHF 45–210
Train from Zürich Flughafen to Bern
- Ave. Duration
- 1h 19m
- Frequency
- Hourly
- Estimated price
- CHF 35–60
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Genève to Bern
- Ave. Duration
- 1h 51m
- Frequency
- Hourly
- Estimated price
- CHF 45–75
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Genève to Bern
- Ave. Duration
- 1h 51m
- Frequency
- Hourly
- Estimated price
- CHF 45–75
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Basel SBB to Bern
- Ave. Duration
- 58 min
- Frequency
- Hourly
- Estimated price
- CHF 30–50
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Genève-Aéroport to Bern
- Ave. Duration
- 2h 1m
- Frequency
- Hourly
- Estimated price
- CHF 50–75
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Brig to Bern
- Ave. Duration
- 1h 8m
- Frequency
- Hourly
- Estimated price
- CHF 30–50
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Lausanne to Bern
- Ave. Duration
- 1h 16m
- Frequency
- Hourly
- Estimated price
- CHF 29–45
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Porto - Terminal Intermodal de Campanhã to Saint-Étienne - Rue Milleret Bus Stop
- Ave. Duration
- 20h 29m
- Frequency
- 4 times a day
- Estimated price
- CHF 100–170
- Website
- BlaBlaCar Bus
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
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
Train travel in France: A guide to SNCF
Read the travel guide
Booking & Getting There
Porto to Bern bus services, operated by Transportes Barquense, arrive at Lyon, Perrache Bus Station.
Bern is 1h ahead of Porto. It is currently 8:34 AM in Porto and 9:34 AM in Bern.
Porto to Bern train services, operated by Renfe Viajeros, arrive at Redondela De Galicia station.
Yes, the driving distance between Porto to Bern is 1768 km. It takes approximately 18h 23m to drive from Porto to Bern.
Book your Porto to Bern bus tickets online with Omio.
There are 364+ hotels available in Bern.









