There are 10 ways to get from Spain to Porto by plane, train (Renfe, Ouigo), bus, car, train, or towncar
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€31–103Train
- Take the train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandestrain Ave
- Take the train from Madrid Chamartín to Ourensetrain Ave
- Take the train from Ourense to Porrinotrain
- Take the train from Porrino to Porto Campanhatrain Ic
12h 10m€85–227Bus via Lleida
- Take the bus from Barcelona, Estació d'Autobusos Nord to Lleidabus ALSA - Bcn-Lle / ...
- Take the bus from Lleida, Estació d'Autobusos to Porto - Terminal Intermodal de Campanhãbus
17h 15m€95–140Drive 1,055.5 km
- Drive from Barcelona to Portocar 1,055.5 km
11h 34m€164–237Fly from Málaga Airport
- Fly from Málaga Airport (AGP) to Francisco De Sá Carneiro Airport (OPO)plane AGP - OPO
4h 18m€39–125Fly from Seville Airport
- Fly from Seville Airport (SVQ) to Francisco De Sá Carneiro Airport (OPO)plane SVQ - OPO
4h 19m€36–147Fly from Valencia Airport
- Fly from Valencia Airport (VLC) to Francisco De Sá Carneiro Airport (OPO)plane VLC - OPO
4h 28m€46–138Fly from Barcelona–El Prat Airport
- Fly from Barcelona–El Prat Airport (BCN) to Francisco De Sá Carneiro Airport (OPO)plane BCN - OPO
4h 51m€34–108Train, towncar
- Take the train from Barcelona-Sants to Ourensetrain Alv
- Take a town car from Ourense to Porto - Aeroporto Francisco Sá Carneirotowncar
17h 40m€290–336Bus
- Take the bus from Barcelona to Portobus Kyiv-Porto
18h 38m
Spain to Porto by train
Questions & Answers
The cheapest way to get from Spain to Porto is to fly which costs €30 - €110 and takes 4h 22m.
The fastest way to get from Spain to Porto is to fly which takes 4h 18m and costs €35 - €130.
Yes, there is a direct bus departing from Barcelona and arriving at Porto. Services depart once daily, and operate Wednesday and Saturday. The journey takes approximately 18h 38m.
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, Ourense and Porrino. The journey, including transfers, takes approximately 12h 10m.
The distance between Spain and Porto is 467 km. The road distance is 1055.5 km.
The best way to get from Spain to Porto without a car is to train which takes 12h 10m and costs €85 - €230.
It takes approximately 4h 22m to get from Spain to Porto, including transfers.
Spain to Porto bus services, operated by ALSA, depart from Barcelona, Estació d'Autobusos Nord station.
Spain to Porto train services, operated by Renfe AVE, depart from Barcelona-Sants station.
The best way to get from Spain to Porto is to fly which takes 4h 22m and costs €30 - €110. Alternatively, you can train, which costs €85 - €230 and takes 12h 10m, you could also bus via Lleida, which costs €95 - €140 and takes 17h 15m.
What companies run services between Spain and Porto, Portugal?
Air Europa, Iberia, and three other airlines fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Francisco De Sá Carneiro Airport (OPO) every 2 hours. 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, Ourense, and Porrino in around 12h 10m.
- Website
- ryanair.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 20m
- When
- Monday, Wednesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €26–110
Flights from Málaga Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 30m
- When
- Tuesday, Friday, Saturday, and Sunday
- Estimated price
- €35–120
Flights from Málaga Airport to Francisco De Sá Carneiro Airport via Valencia Airport
- Ave. Duration
- 3h 50m
- When
- Saturday
- Estimated price
- €35–120
Flights from Seville Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €27–120
Flights from Valencia Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 30m
- When
- Monday, Wednesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €30–130
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h
- When
- Every day
- Estimated price
- €30–110
- 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
- €30–85
Flights from Málaga Airport to Francisco De Sá Carneiro Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 3h 37m
- When
- Every day
- Estimated price
- €70–110
Flights from Valencia Airport to Francisco De Sá Carneiro Airport via Bilbao
- Ave. Duration
- 3h 40m
- When
- Tuesday
- Estimated price
- €45–160
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 56m
- When
- Every day
- Estimated price
- €23–100
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 4h 8m
- When
- Monday to Friday
- Estimated price
- €75–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
- €30–85
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
- €70–110
Flights from Valencia Airport to Francisco De Sá Carneiro Airport via Bilbao
- Ave. Duration
- 3h 40m
- When
- Tuesday
- Estimated price
- €45–160
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 56m
- When
- Every day
- Estimated price
- €23–100
Flights from Barcelona–El Prat Airport to Francisco De Sá Carneiro Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 3h 55m
- When
- Monday to Friday
- Estimated price
- €75–130
- 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
- €23–90
Flights from Málaga Airport to Francisco De Sá Carneiro Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 3h 28m
- When
- Every day
- Estimated price
- €35–110
Flights from Valencia Airport to Francisco De Sá Carneiro Airport via Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 3h 50m
- When
- Every day
- Estimated price
- €35–120
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
- €30–110
- Website
- flytap.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 25m
- When
- Monday, Tuesday, Thursday, and Saturday
- Estimated price
- €65–250
Flights from Adolfo Suárez Madrid–Barajas Airport to Francisco De Sá Carneiro Airport via Lisboa
- Ave. Duration
- 3h 10m
- When
- Every day
- Estimated price
- €45–100
Flights from Seville Airport to Francisco De Sá Carneiro Airport via Lisboa
- Ave. Duration
- 3h 10m
- When
- Monday, Tuesday, Wednesday, Friday, and Saturday
- Estimated price
- €55–150
- Website
- ethiopianairlines.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 1h 25m
- When
- Monday, Tuesday, Thursday, and Saturday
- Estimated price
- €65–250
- 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
- Hourly
- Estimated price
- €35–100
- Website
- https://www.renfe.com/es/en
Train from Madrid Chamartín to Ourense
- Ave. Duration
- 2h 20m
- Frequency
- Every 4 hours
- Estimated price
- €29–80
- Website
- https://www.renfe.com/es/en
- Phone
- +34 900 926 851
- atencion.cliente@iryo.eu
- Website
- iryo.eu
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 17m
- Frequency
- Hourly
- Estimated price
- €35–95
- Website
- https://iryo.eu/en/home
- Phone
- +34 910 780 990
- Website
- ouigo.com
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 17m
- Frequency
- 5 times a day
- Estimated price
- €29–60
- 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 28m
- Frequency
- Twice daily
- Estimated price
- €45–65
- Website
- https://www.renfe.com/es/en
Train from Madrid Chamartín to Ourense
- Ave. Duration
- 2h 36m
- Frequency
- Every 4 hours
- Estimated price
- €30–70
- Website
- https://www.renfe.com/es/en
Train from Ourense to Porrino
- Ave. Duration
- 1h 16m
- Frequency
- 4 times a week
- Estimated price
- €9–24
- Website
- https://www.renfe.com/es/en
Train from Porrino to Porto Campanha
- Ave. Duration
- 2h 3m
- Frequency
- Twice daily
- Estimated price
- €13–18
- Website
- https://www.renfe.com/es/en
Train from Barcelona-Sants to Ourense
- Ave. Duration
- 11h 54m
- Frequency
- Twice daily
- Estimated price
- €35–80
- Website
- https://www.renfe.com/es/en
- Phone
- +34 910 207 007
- alsa@alsa.es
- Website
- alsa.com
Bus from Barcelona, Estació d'Autobusos Nord to Lleida
- Ave. Duration
- 2h 45m
- Frequency
- Every 4 hours
- Estimated price
- €25–45
- Website
- https://www.alsa.com/en/
- Phone
- +376 806 555
- cooperativa@interurbana.ad
- 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
- €89–91
- Website
- https://www.interurbana.ad/idioma-en
- Phone
- +34 (0) 902 23 95 79
- info@rutasvigo.com
- Website
- autocareslazara.com
Bus from Lleida, Estació d'Autobusos to Porto - Terminal Intermodal de Campanhã
- Ave. Duration
- 13h
- Frequency
- Once a week
- Estimated price
- €70–95
- Website
- http://autocareslazara.com/
- Phone
- +380(67)-484-57-27
- support@pavluks-trans.com
- Website
- pavluks-trans.com
Bus from Barcelona to Porto
- Ave. Duration
- 18h 38m
- Frequency
- Once daily
- Website
- https://pavluks-trans.com/en/tickets/kyiv/goettingen?sort_by=departure&order_by=ASC&page=1
- Phone
- (+351) 220 971 653
- info@vmtransfers.com
- Website
- vmtransfers.com
Towncar from Ourense to Porto - Aeroporto Francisco Sá Carneiro
- Ave. Duration
- 3h 11m
- Frequency
- On demand
- Estimated price
- €250
- Website
- https://www.vmtransfers.com/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 ALSA, arrive at Lleida station.
Spain to Porto train services, operated by Renfe AVE, arrive at Madrid-Puerta de Atocha-Almudena Grandes station.
Yes, the driving distance between Spain to Porto is 1056 km. It takes approximately 11h 34m to drive from Spain to Porto.
Book your Spain to Porto bus tickets online with Omio.
There are 6294+ hotels available in Porto.






















