There are 9 ways to get from Porto to Madrid by plane, towncar, bus, train, train (Renfe), rideshare, 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 from Francisco De Sá Carneiro Airport
best- Fly from Francisco De Sá Carneiro Airport (OPO) to Adolfo Suárez Madrid–Barajas Airport (MAD)plane OPO - MAD
4h 10m€34–176Rideshare
cheapest- Take the rideshare from Porto to Madrid550.8 km
6h 14m€24–40Towncar, bus, train
- Take a town car from Porto - Aeroporto Francisco Sá Carneiro to Bragançatowncar
- Take the bus from Bragança to Zamorabus
- Take the train from Zamora to Madrid Chamartíntrain Ave
7h 9m€289–338Train (Renfe)
- Take the train from Porto Campanha to Redondela De Galiciatrain Ic
- Take the train from Pontevedra to Madrid Chamartíntrain Ave
8h 10m€99–207Train to Vigo, fly
- Take the train from Porto Campanha to Vigo Guixartrain
- Fly from Vigo (VGO) to Adolfo Suárez Madrid–Barajas Airport (MAD)plane VGO - MAD
6h 17m€66–219Bus via Salamanca
- Take the bus from Porto - Terminal Intermodal de Campanhã to Salamancabus BlaBlaCar Bus
- Take the bus from Salamanca, Estación de Autobuses to Madrid-Moncloabus 1 Salamanca-Madrid / ...
7h 47m€49–80Bus
- Take the bus from Porto - Terminal Intermodal de Campanhã to Estación Sur de Autobusesbus
8h 15m€46–103Train, bus
- Take the train from Porto Sao Bento to Penafieltrain 871 / ...
- Take the bus from Penafiel to Zamorabus
- Take the train from Zamora to Madrid Chamartíntrain Ave
9h€59–120Drive 551.6 km
- Drive from Porto to Madridcar 551.6 km
5h 39m€88–127
Porto to Madrid by train (Renfe)
Questions & Answers
The cheapest way to get from Porto to Madrid is to rideshare which costs €24 - €40 and takes 6h 14m.
The fastest way to get from Porto to Madrid is to fly which takes 4h 10m and costs €30 - €180.
No, there is no direct bus from Porto to Madrid. However, there are services departing from Porto - Terminal Intermodal de Campanhã and arriving at Callao via Salamanca, Estación de Autobuses and Moncloa. The journey, including transfers, takes approximately 7h 47m.
No, there is no direct train from Porto to Madrid. However, there are services departing from Porto Campanha and arriving at Sol via Redondela De Galicia, Pontevedra and Madrid Chamartín. The journey, including transfers, takes approximately 8h 10m.
The distance between Porto and Madrid is 467 km. The road distance is 551.6 km.
The best way to get from Porto to Madrid without a car is to towncar and bus and train which takes 7h 9m and costs €280 - €340.
It takes approximately 4h 10m to get from Porto to Madrid, including transfers.
Porto to Madrid bus services, operated by BlaBlaCar Bus, depart from Porto - Terminal Intermodal de Campanhã station.
Porto to Madrid train services, operated by Renfe Viajeros, depart from Porto Campanha station.
The best way to get from Porto to Madrid is to fly which takes 4h 10m and costs €30 - €180. Alternatively, you can train, which costs €95 - €210 and takes 8h 10m, you could also bus via Salamanca, which costs €45 - €85 and takes 7h 47m.
What companies run services between Porto, Portugal and Madrid, Spain?
Iberia, Ryanair, and three other airlines fly from Francisco De Sá Carneiro Airport (OPO) to Adolfo Suárez Madrid–Barajas Airport (MAD) every 2 hours. Alternatively, you can take a train from Porto Campanha to Sol via Redondela De Galicia, Pontevedra, and Madrid Chamartín in around 8h 10m.
- Website
- iberia.com
Flights from Francisco De Sá Carneiro Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- €27–130
Flights from Vigo to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €35–140
- Website
- aireuropa.com
Flights from Francisco De Sá Carneiro Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €29–180
Flights from Vigo to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €40–180
- Website
- ryanair.com
Flights from Francisco De Sá Carneiro Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 1h 14m
- When
- Every day
- Estimated price
- €29–160
- Website
- flytap.com
Flights from Francisco De Sá Carneiro Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 1h 15m
- When
- Monday, Tuesday, Thursday, and Saturday
- Estimated price
- €75–260
Flights from Francisco De Sá Carneiro Airport to Adolfo Suárez Madrid–Barajas Airport via Lisboa
- Ave. Duration
- 3h 12m
- When
- Sunday, Monday, Tuesday, Thursday, and Saturday
- Estimated price
- €40–150
- Website
- ethiopianairlines.com
Flights from Francisco De Sá Carneiro Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 1h 15m
- When
- Monday, Tuesday, Thursday, and Saturday
- Estimated price
- €75–260
Rome2Rio's guide to Renfe AVE
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Zamora to Madrid Chamartín
- Ave. Duration
- 1h 7m
- Frequency
- Hourly
- Estimated price
- €35–65
- Website
- https://www.renfe.com/es/en
Train from Pontevedra to Madrid Chamartín
- Ave. Duration
- 3h 38m
- Frequency
- 5 times a day
- Estimated price
- €90–170
- Website
- https://www.renfe.com/es/en
Train from Zamora to Madrid Chamartín
- Ave. Duration
- 1h 7m
- Frequency
- Hourly
- Estimated price
- €35–65
- Website
- https://www.renfe.com/es/en
Rome2Rio's guide to Renfe Viajeros
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Zamora to Madrid Chamartín
- Ave. Duration
- 1h 12m
- Frequency
- Hourly
- Estimated price
- €29–45
- Website
- https://www.renfe.com/es/en
Train from Porto Campanha to Redondela De Galicia
- Ave. Duration
- 2h 15m
- Frequency
- 4 times a day
- Estimated price
- €20–35
- Website
- https://www.renfe.com/es/en
Train from Pontevedra to Madrid Chamartín
- Ave. Duration
- 4h 7m
- Frequency
- Twice daily
- Estimated price
- €75–120
- Website
- https://www.renfe.com/es/en
Train from Porto Campanha to Vigo Guixar
- Ave. Duration
- 2h 30m
- Frequency
- 4 times a day
- Estimated price
- €21–35
- Website
- https://www.renfe.com/es/en
Train from Zamora to Madrid Chamartín
- Ave. Duration
- 1h 12m
- Frequency
- Hourly
- Estimated price
- €29–45
- Website
- https://www.renfe.com/es/en
- Phone
- +351 210 900 032
- Website
- cp.pt
Train from Porto Sao Bento to Penafiel
- Ave. Duration
- 39 min
- Frequency
- Every 20 minutes
- Estimated price
- €4–8
- Website
- https://www.cp.pt/en/
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- https://www.flixbus.fr
Bus from Bragança to Zamora
- Ave. Duration
- 1h 15m
- Frequency
- 4 times a week
- Estimated price
- €8–15
- Website
- https://www.flixbus.co.uk
Bus from Penafiel to Zamora
- Ave. Duration
- 5h 35m
- Frequency
- 4 times a week
- Estimated price
- €25–45
- Website
- https://www.flixbus.co.uk
- Phone
- (+34) 988 225 288
- [email protected]
- Website
- anpian.com
Bus from Bragança to Zamora
- Ave. Duration
- 1h 37m
- Frequency
- 4 times a week
- Estimated price
- €7–11
- Schedules at
- anpian.com
- Phone
- +376 806 555
- [email protected]
- Website
- interurbana.ad
Bus from Bragança to Zamora
- Ave. Duration
- 1h 10m
- Frequency
- Twice a week
- Estimated price
- €19
- Website
- https://www.interurbana.ad/idioma-en
- Phone
- +3 318 576 2228
- Website
- blablacar.co.uk
Bus from Porto - Terminal Intermodal de Campanhã to Salamanca
- Ave. Duration
- 3h 35m
- Frequency
- Twice daily
- Estimated price
- €30–55
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +34 900 92 91 92
- [email protected]
- Website
- monbus.es
Bus from Salamanca, Estación de Autobuses to Madrid-Moncloa
- Ave. Duration
- 3h 10m
- Frequency
- Hourly
- Estimated price
- €17–26
- Website
- https://www.monbus.es/en
- Phone
- +351 21 75 24 524
- Website
- rede-expressos.pt
Bus from Porto - Terminal Intermodal de Campanhã to Estación Sur de Autobuses
- Ave. Duration
- 7h 30m
- Frequency
- 3 times a day
- Estimated price
- €40–100
- Website
- https://rede-expressos.pt/en
- Phone
- (+351) 220 971 653
- [email protected]
- Website
- vmtransfers.com
Towncar from Porto - Aeroporto Francisco Sá Carneiro to Bragança
- Ave. Duration
- 2h 10m
- Frequency
- On demand
- Estimated price
- €250
- Website
- https://www.vmtransfers.com/en/
- Phone
- +3 318 576 2228
- Website
- blablacar.com
Rideshare from Porto to Madrid
- Ave. Duration
- 6h 14m
- Frequency
- 3 times a week
- Estimated price
- €24–40
- Schedules at
- blablacar.com
Want to know more about travelling around Spain
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
Want to know more about Flixbus?
Read the travel guide
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
Porto to Madrid bus services, operated by BlaBlaCar Bus, arrive at Salamanca station.
Madrid is 1h ahead of Porto. It is currently 12:14 AM in Porto and 1:14 AM in Madrid.
Porto to Madrid train services, operated by Renfe Viajeros, arrive at Redondela De Galicia station.
Yes, the driving distance between Porto to Madrid is 552 km. It takes approximately 5h 39m to drive from Porto to Madrid.
There are 7050+ hotels available in Madrid.
Check out Blablacar's carpooling service for rideshare options between Porto and Madrid. A great option if you don't have a driver's licence or want to avoid public transport.









































