There are 8 ways to get from Porto to Madrid by plane, bus, train (Renfe), 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 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
3h 46m€61–203Bus via Porto Campanha
cheapest- Take the bus from Porto - Terminal Intermodal de Campanhã to Estación Sur de Autobusesbus BlaBlaCar Bus
7h 48m€35–91Train (Renfe)
- Take the train from Porto Campanha to Redondela De Galiciatrain Ic
- Take the train from Pontevedra to Madrid Chamartíntrain Ave
9h 3m€97–210Drive 547.9 km
- Drive from Vila Nova de Gaia to Madridcar 547.9 km
5h 36m€87–125Train to Vigo, fly
- Take the train from Nine to Vigo Guixartrain
- Fly from Vigo (VGO) to Adolfo Suárez Madrid–Barajas Airport (MAD)plane VGO - MAD
6h 59m€63–217Bus, train
- Take the bus from Porto - Casa da Música to Zamorabus Porto
- Take the train from Zamora to Madrid Chamartíntrain Ave
7h 54m€56–102Bus
- Take the bus from Pólo Universitário to Estación Sur de Autobusesbus
9h 32m€46–112Towncar, 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
6h 51m€321–369
Porto to Madrid by train, foot, and bus
Questions & Answers
The cheapest way to get from Porto to Madrid is to bus which costs €45 - €120 and takes 9h 32m.
The fastest way to get from Porto to Madrid is to fly which takes 3h 46m and costs €60 - €210.
No, there is no direct bus from Porto to Madrid. However, there are services departing from Porto - Terminal Intermodal de Campanhã and arriving at Estación Sur de Autobuses via . The journey, including transfers, takes approximately 7h 48m.
No, there is no direct train from Porto to Madrid. However, there are services departing from Vila Nova De Gaia - Devesas and arriving at Madrid Chamartín via Porto Campanha, Redondela De Galicia and Pontevedra. The journey, including transfers, takes approximately 9h 3m.
The distance between Porto and Madrid is 458 km. The road distance is 547.9 km.
The best way to get from Porto to Madrid without a car is to bus via Porto Campanha which takes 7h 48m and costs €35 - €95.
It takes approximately 3h 46m 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 3h 46m and costs €60 - €210. Alternatively, you can bus via Porto Campanha, which costs €35 - €95 and takes 7h 48m, you could also train, which costs €95 - €210 and takes 9h 3m.
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, BlaBlaCar Bus operates a bus from Porto - Terminal Intermodal de Campanhã to Estación Sur de Autobuses twice daily. Tickets cost €45–90 and the journey takes 6h 40m. Gipsyy Portugal also services this route twice daily.
- 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, Wednesday, 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
- Phone
- +34 91 232 03 20
- Website
- renfe.com
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 Nine to Vigo Guixar
- Ave. Duration
- 1h 58m
- Frequency
- 4 times a day
- Estimated price
- €17–26
- 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
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
- +34 91 232 03 20
- Website
- renfe.com
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
Train from Zamora to Madrid Chamartín
- Ave. Duration
- 1h 7m
- Frequency
- Hourly
- Estimated price
- €35–65
- Website
- https://www.renfe.com/es/en
- Phone
- +3 318 576 2228
- Website
- blablacar.co.uk
Bus from Porto - Terminal Intermodal de Campanhã to Estación Sur de Autobuses
- Ave. Duration
- 6h 40m
- Frequency
- Twice daily
- Estimated price
- €45–90
- Website
- https://www.blablacar.co.uk/bus
- [email protected]
- Website
- gipsyy.com
Bus from Porto - Terminal Intermodal de Campanhã to Estación Sur de Autobuses
- Ave. Duration
- 7h 30m
- Frequency
- Twice daily
- Estimated price
- €35–75
- Schedules at
- gipsyy.com
- Phone
- (+34) 988 225 288
- [email protected]
- Website
- anpian.com
Bus from Porto - Casa da Música to Zamora
- Ave. Duration
- 4h 49m
- Frequency
- 4 times a week
- Estimated price
- €24–35
- Schedules at
- 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
- +351 21 75 24 524
- Website
- rede-expressos.pt
Bus from Pólo Universitário to Estación Sur de Autobuses
- Ave. Duration
- 8h 15m
- Frequency
- Once daily
- Estimated price
- €45–110
- Website
- https://rede-expressos.pt/en
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- 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
- €9–15
- Website
- https://www.flixbus.co.uk
- 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
- (+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/
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
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
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Porto to Madrid bus services, operated by BlaBlaCar Bus, arrive at Estación Sur de Autobuses station.
Madrid is 1h ahead of Porto. It is currently 8:29 AM in Porto and 9:29 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 548 km. It takes approximately 5h 36m to drive from Porto to Madrid.
Book your Porto to Madrid bus tickets online with Omio.
There are 7045+ hotels available in Madrid.






























