There are 7 ways to get from Barcelona (Station) to Porto by plane, train (Renfe, Ouigo), bus, car, or train
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 Francisco De Sá Carneiro Airport
best- Fly from Barcelona–El Prat Airport (BCN) to Francisco De Sá Carneiro Airport (OPO)plane BCN - OPO
5h 2m€38–139Train
- Take the train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandestrain Ave
- Take the train from Madrid Chamartín to Pontevedratrain Ave
- Take the train from Redondela De Galicia to Porto Campanhatrain Ic
12h 53m€154–372Bus via Lleida
- Take the bus from Palau Reial - Barcelona to Lleida-Udlbus ALSA - Bcn-Lle
- Take the bus from Lleida, Estació d'Autobusos to Porto - Terminal Intermodal de Campanhãbus
16h 54m€108–198Drive 1,049.3 km
- Drive from Barcelona (Station) to Portocar 1,049.3 km
11h 23m€167–241Fly to Vigo, train
- Fly from Barcelona–El Prat Airport (BCN) to Vigo (VGO)plane BCN - VGO
- Take the train from Vigo Guixar to Porto Campanhatrain
7h 44m€86–235Bus
- Take the bus from Barcelona - North Bus Station to Porto - Terminal Intermodal de Campanhãbus BlaBlaCar Bus
17h 5m€103–193Train, bus
- Take the train from Barcelona-Sants to Vigo Urzaiztrain Alv
- Take the bus from Vigo - Bus Station to Porto - Terminal Intermodal de Campanhãbus BlaBlaCar Bus
17h 42m€186–291
Barcelona (Station) to Porto by foot and bus
Questions & Answers
The cheapest way to get from Barcelona (Station) to Porto is to fly which costs €35 - €140 and takes 5h 2m.
The fastest way to get from Barcelona (Station) to Porto is to fly which takes 5h 2m and costs €35 - €140.
No, there is no direct bus from Barcelona (Station) to Porto. However, there are services departing from Palau Reial - Barcelona and arriving at Porto - Terminal Intermodal de Campanhã via Lleida, Estació d'Autobusos. The journey, including transfers, takes approximately 16h 54m.
No, there is no direct train from Barcelona (Station) to Porto. However, there are services departing from Barcelona-Sants and arriving at Porto Campanha via Madrid-Atocha Cercanías, Madrid Chamartín, Pontevedra and Redondela De Galicia. The journey, including transfers, takes approximately 12h 53m.
The distance between Barcelona (Station) and Porto is 926 km. The road distance is 1049.3 km.
The best way to get from Barcelona (Station) to Porto without a car is to train which takes 12h 53m and costs €150 - €380.
It takes approximately 5h 2m to get from Barcelona (Station) to Porto, including transfers.
Barcelona (Station) to Porto bus services, operated by ALSA, depart from Palau Reial - Barcelona station.
Barcelona (Station) to Porto train services, operated by Renfe AVE, depart from Barcelona-Sants station.
The best way to get from Barcelona (Station) to Porto is to fly which takes 5h 2m and costs €35 - €140. Alternatively, you can train, which costs €150 - €380 and takes 12h 53m, you could also bus via Lleida, which costs €100 - €200 and takes 16h 54m.
What companies run services between Barcelona (Station), Catalonia, Spain and Porto, Portugal?
Ryanair, Vueling Airlines, and two other airlines fly from Barcelona–El Prat Airport (BCN) to Francisco De Sá Carneiro Airport (OPO) every 3 hours. Alternatively, you can take a vehicle from Barcelona (Station) to Porto Campanha via Barcelona-Sants, Madrid-Puerta de Atocha-Almudena Grandes, Madrid-Atocha Cercanías, Madrid Chamartín, Pontevedra, and Redondela De Galicia in around 12h 53m.
- Website
- vueling.com
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 57m
- When
- Every day
- Estimated price
- €28–130
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport via Bilbao
- Ave. Duration
- 3h 40m
- When
- Saturday
- Estimated price
- €28–130
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport via Madrid
- Ave. Duration
- 4h 12m
- When
- Monday, Wednesday, and Friday
- Estimated price
- €70–210
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport via Ibiza
- Ave. Duration
- 4h 35m
- When
- Tuesday and Saturday
- Estimated price
- €28–130
Flights from Barcelona–El Prat Airport to Vigo
- Ave. Duration
- 1h 52m
- When
- Every day
- Estimated price
- €50–170
Flights from Barcelona–El Prat Airport to Vigo via Madrid
- Ave. Duration
- 4h 3m
- When
- Every day
- Estimated price
- €70–130
- Website
- iberia.com
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 57m
- When
- Every day
- Estimated price
- €28–130
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport via Madrid
- Ave. Duration
- 4h 12m
- When
- Monday, Wednesday, and Friday
- Estimated price
- €70–210
Flights from Barcelona–El Prat Airport to Vigo
- Ave. Duration
- 1h 52m
- When
- Every day
- Estimated price
- €50–170
Flights from Barcelona–El Prat Airport to Vigo via Madrid
- Ave. Duration
- 4h 3m
- When
- Every day
- Estimated price
- €70–130
- Website
- ryanair.com
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- €30–140
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport via Palma Mallorca
- Ave. Duration
- 4h
- When
- Monday and Thursday
- Estimated price
- €30–140
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport via Ibiza
- Ave. Duration
- 4h 45m
- When
- Wednesday and Sunday
- Estimated price
- €30–140
- Website
- aireuropa.com
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport via Madrid
- Ave. Duration
- 4h 25m
- When
- Every day
- Estimated price
- €65–220
Flights from Barcelona–El Prat Airport to Vigo via Madrid
- Ave. Duration
- 4h 10m
- When
- Every day
- Estimated price
- €100–210
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 2m
- Frequency
- Every 30 minutes
- Estimated price
- €90–170
- Website
- https://www.renfe.com/es/en
Train from Madrid Chamartín to Pontevedra
- Ave. Duration
- 3h 53m
- Frequency
- Every 4 hours
- Estimated price
- €90–170
- Website
- https://www.renfe.com/es/en
- Phone
- +34 900 926 851
- [email protected]
- Website
- iryo.eu
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 31m
- Frequency
- Hourly
- Estimated price
- €60–120
- Website
- https://iryo.eu/en/home
- Phone
- +34 900 759 781
- Website
- ouigo.com
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 28m
- Frequency
- Every 2 hours
- Estimated price
- €55–95
- Website
- https://www.ouigo.com/es/en
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 2m
- Frequency
- 4 times a day
- Estimated price
- €75–120
- Website
- https://www.renfe.com/es/en
Train from Madrid Chamartín to Pontevedra
- Ave. Duration
- 4h 5m
- Frequency
- Twice daily
- Estimated price
- €75–120
- Website
- https://www.renfe.com/es/en
Train from Redondela De Galicia to Porto Campanha
- Ave. Duration
- 2h 15m
- Frequency
- 4 times a day
- Estimated price
- €20–35
- Website
- https://www.renfe.com/es/en
Train from Vigo Guixar to Porto Campanha
- Ave. Duration
- 2h 26m
- Frequency
- 4 times a day
- Estimated price
- €21–35
- Website
- https://www.renfe.com/es/en
Train from Barcelona-Sants to Vigo Urzaiz
- Ave. Duration
- 13h 52m
- Frequency
- Twice daily
- Estimated price
- €170–270
- Website
- https://www.renfe.com/es/en
- Phone
- +34 910 207 007
- Website
- alsa.com
Bus from Palau Reial - Barcelona to Lleida-Udl
- Ave. Duration
- 2h 10m
- Frequency
- Once daily
- Estimated price
- €12–19
- Website
- https://www.alsa.com/en/
- Phone
- +376 806 555
- [email protected]
- Website
- interurbana.ad
Bus from Lleida, Estació d'Autobusos to Porto - Terminal Intermodal de Campanhã
- Ave. Duration
- 13h 30m
- Frequency
- Twice a week
- Estimated price
- €95–180
- Website
- https://www.interurbana.ad/idioma-en
- Phone
- +34 (0) 902 23 95 79
- [email protected]
- Website
- autocareslazara.com
Bus from Lleida, Estació d'Autobusos to Porto - Terminal Intermodal de Campanhã
- Ave. Duration
- 13h
- Frequency
- Once a week
- Estimated price
- €95–105
- Schedules at
- autocareslazara.com
- Phone
- +3 318 576 2228
- Website
- blablacar.co.uk
Bus from Barcelona - North Bus Station to Porto - Terminal Intermodal de Campanhã
- Ave. Duration
- 15h 20m
- Frequency
- Once daily
- Estimated price
- €100–190
- Website
- https://www.blablacar.co.uk/bus
Bus from Vigo - Bus Station to Porto - Terminal Intermodal de Campanhã
- Ave. Duration
- 2h 30m
- Frequency
- Every 4 hours
- Estimated price
- €14–26
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +351 21 75 24 524
- Website
- rede-expressos.pt
Bus from Vigo - Bus Station to Porto - Terminal Intermodal de Campanhã
- Ave. Duration
- 2h 45m
- Frequency
- 5 times a day
- Estimated price
- €11–28
- Website
- https://rede-expressos.pt/en
Want to know more about travelling around Portugal
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
Train travel in Spain: A guide to Renfe
Read the travel guide
What are the different types of Renfe trains in Spain?
Read the travel guide
More Questions & Answers
Barcelona (Station) to Porto bus services, operated by ALSA, arrive at Lleida-Udl station.
Porto is 1h behind Barcelona (Station). It is currently 11:10 PM in Barcelona (Station) and 10:10 PM in Porto.
Barcelona (Station) to Porto train services, operated by Renfe AVE, arrive at Madrid-Puerta de Atocha-Almudena Grandes station.
Yes, the driving distance between Barcelona (Station) to Porto is 1049 km. It takes approximately 11h 23m to drive from Barcelona (Station) to Porto.
There are 6833+ hotels available in Porto.





























