There are 10 ways to get from Spain 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 from Adolfo Suárez Madrid–Barajas Airport
best- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Francisco De Sá Carneiro Airport (OPO)plane MAD - OPO
4h 22m€33–177Train
- Take the train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandestrain
- Take the train from Madrid Chamartín to Pontevedratrain Ave
- Take the train from Redondela De Galicia to Porto Campanhatrain Ic
13h 12m€153–382Bus
- Take the bus from Barcelona - North Bus Station to Porto - Terminal Intermodal de Campanhãbus BlaBlaCar Bus
15h 20m€100–190Drive 1,054 km
- Drive from Barcelona to Portocar 1,054 km
11h 32m€168–242Fly from Seville Airport
- Fly from Seville Airport (SVQ) to Francisco De Sá Carneiro Airport (OPO)plane SVQ - OPO
4h 19m€53–159Fly from Málaga Airport
- Fly from Málaga Airport (AGP) to Francisco De Sá Carneiro Airport (OPO)plane AGP - OPO
4h 18m€53–165Fly from Valencia Airport
- Fly from Valencia Airport (VLC) to Francisco De Sá Carneiro Airport (OPO)plane VLC - OPO
4h 32m€56–188Fly from Barcelona–El Prat Airport
- Fly from Barcelona–El Prat Airport (BCN) to Francisco De Sá Carneiro Airport (OPO)plane BCN - OPO
4h 56m€34–138Bus via Ponts
- Take the bus from Barcelona, Estació d'Autobusos Nord to Pontsbus 306
- Take the bus from Ponts-Lleida to Porto - Terminal Intermodal de Campanhãbus
17h 32m€129–224Train, 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
18h 16m€181–299
Spain to Porto by train
Questions & Answers
The cheapest way to get from Spain to Porto is to fly which costs €30 - €140 and takes 4h 56m.
The fastest way to get from Spain to Porto is to fly which takes 4h 18m and costs €50 - €170.
Yes, there is a direct bus departing from Barcelona - North Bus Station station and arriving at Porto - Terminal Intermodal de Campanhã. Services depart once daily, and operate every day. The journey takes approximately 15h 20m.
No, there is no direct train from Spain to Porto. However, there are services departing from Barcelona Plaça de Catalunya and arriving at Porto Campanha via Barcelona-Sants, Madrid-Atocha Cercanías, Madrid Chamartín, Pontevedra and Redondela De Galicia. The journey, including transfers, takes approximately 13h 12m.
The distance between Spain and Porto is 467 km. The road distance is 1054 km.
The best way to get from Spain to Porto without a car is to train which takes 13h 12m and costs €150 - €390.
It takes approximately 4h 22m to get from Spain to Porto, including transfers.
Spain to Porto bus services, operated by BlaBlaCar Bus, depart from Barcelona - North Bus Station.
Spain to Porto train services, operated by iryo, depart from Barcelona-Sants station.
The best way to get from Spain to Porto is to fly which takes 4h 22m and costs €30 - €180. Alternatively, you can train, which costs €150 - €390 and takes 13h 12m, you could also bus, which costs €100 - €190 and takes 15h 20m.
What companies run services between Spain and Porto, Portugal?
Iberia, Ryanair, and three other airlines fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Francisco De Sá Carneiro Airport (OPO) hourly. Alternatively, you can take a train from Barcelona Plaça de Catalunya 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 13h 12m.
- Website
- ryanair.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 19m
- When
- Every day
- Estimated price
- €29–150
Flights from Seville Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 15m
- When
- Wednesday, Thursday, Friday, Saturday, Sunday, and Monday
- Estimated price
- €40–140
Flights from Málaga Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €40–140
Flights from Valencia Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €40–170
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- €30–130
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–130
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–130
- Website
- vueling.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- €27–130
Flights from Seville Airport to Francisco De Sá Carneiro Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 3h 30m
- When
- Tuesday to Saturday
- Estimated price
- €130–320
Flights from Málaga Airport to Francisco De Sá Carneiro Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 3h 35m
- When
- Every day
- Estimated price
- €35–230
Flights from Valencia Airport to Francisco De Sá Carneiro Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 3h 20m
- When
- Every day
- Estimated price
- €35–250
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 57m
- When
- Every day
- Estimated price
- €28–120
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport via Bilbao
- Ave. Duration
- 3h 40m
- When
- Saturday
- Estimated price
- €28–120
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport via Adolfo Suárez Madrid–Barajas Airport
- 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–120
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- €27–130
Flights from Seville Airport to Francisco De Sá Carneiro Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 3h 25m
- When
- Monday to Saturday
- Estimated price
- €130–320
Flights from Málaga Airport to Francisco De Sá Carneiro Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 3h 35m
- When
- Every day
- Estimated price
- €35–230
Flights from Valencia Airport to Francisco De Sá Carneiro Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 3h 20m
- When
- Every day
- Estimated price
- €35–250
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 57m
- When
- Every day
- Estimated price
- €28–120
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 4h 12m
- When
- Monday, Wednesday, and Friday
- Estimated price
- €70–210
- Website
- aireuropa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €28–180
Flights from Málaga Airport to Francisco De Sá Carneiro Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 3h 23m
- When
- Every day
- Estimated price
- €60–150
Flights from Valencia Airport to Francisco De Sá Carneiro Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 3h 40m
- When
- Every day
- Estimated price
- €60–160
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 4h 25m
- When
- Every day
- Estimated price
- €65–220
- Website
- flytap.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 20m
- When
- Monday, Tuesday, Thursday, and Saturday
- Estimated price
- €85–300
Flights from Adolfo Suárez Madrid–Barajas Airport to Francisco De Sá Carneiro Airport via Lisboa
- Ave. Duration
- 3h 20m
- When
- Every day
- Estimated price
- €40–140
Flights from Seville Airport to Francisco De Sá Carneiro Airport via Lisboa
- Ave. Duration
- 2h 40m
- When
- Monday, Wednesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €70–140
- Website
- ethiopianairlines.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 20m
- When
- Monday, Tuesday, Thursday, and Saturday
- Estimated price
- €85–300
- Website
- volotea.com
Flights from Valencia Airport to Francisco De Sá Carneiro Airport via Asturias
- Ave. Duration
- 3h 55m
- When
- Wednesday
- Estimated price
- €45–210
- 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–130
- Website
- https://iryo.eu/en/home
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 44m
- Frequency
- Every 30 minutes
- Estimated price
- €95–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 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–100
- 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 Barcelona-Sants to Vigo Urzaiz
- Ave. Duration
- 13h 52m
- Frequency
- Twice daily
- Estimated price
- €170–270
- Website
- https://www.renfe.com/es/en
- 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 3 hours
- Estimated price
- €14–25
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +34 (0) 973 273 151
- [email protected]
- Website
- atmlleida.cat
Bus from Barcelona, Estació d'Autobusos Nord to Ponts
- Ave. Duration
- 2h 17m
- Frequency
- Twice daily
- Estimated price
- €34
- Schedules at
- atmlleida.cat
- Phone
- +376 806 555
- [email protected]
- Website
- interurbana.ad
Bus from Ponts-Lleida to Porto - Terminal Intermodal de Campanhã
- Ave. Duration
- 14h 15m
- Frequency
- Twice a week
- Estimated price
- €95–190
- Website
- https://www.interurbana.ad/idioma-en
- Phone
- +34 (0) 902 23 95 79
- [email protected]
- Website
- autocareslazara.com
Bus from Ponts-Lleida to Porto - Terminal Intermodal de Campanhã
- Ave. Duration
- 13h 45m
- Frequency
- Once a week
- Estimated price
- €95–110
- Schedules at
- autocareslazara.com
- 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
Spain to Porto bus services, operated by BlaBlaCar Bus, arrive at Porto - Terminal Intermodal de Campanhã station.
Spain to Porto train services, operated by iryo, arrive at Madrid-Puerta de Atocha-Almudena Grandes station.
Yes, the driving distance between Spain to Porto is 1054 km. It takes approximately 11h 32m to drive from Spain to Porto.
Book your Spain to Porto bus tickets online with Omio.
There are 6815+ hotels available in Porto.

























