There are 8 ways to get from Porto to Madrid by plane, bus, train, train (Renfe), car, 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 53m€62–204Bus via Salamanca
cheapest- 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 / ...
8h 56m€48–84Bus, train
- Take the bus from Porto - Casa da Música to Zamorabus Porto
- Take the train from Zamora to Madrid Chamartíntrain Ave
8h 7m€56–104Train (Renfe)
- Take the train from Porto Campanha to Vigo Guixartrain Ic
- Take the train from Vigo Urzaiz to Madrid Chamartíntrain Ave
8h 58m€104–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
7h 7m€64–218Bus
- Take the bus from Pólo Universitário to Estación Sur de Autobusesbus
10h 17m€49–117Towncar, 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 4m€322–371
Porto to Madrid by train, bus, and foot (Renfe)
Questions & Answers
The cheapest way to get from Porto to Madrid is to bus via Salamanca which costs €45 - €85 and takes 8h 56m.
The fastest way to get from Porto to Madrid is to fly which takes 3h 53m 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 Callao via Salamanca, Estación de Autobuses and Moncloa. The journey, including transfers, takes approximately 8h 56m.
No, there is no direct train from Porto to Madrid. However, there are services departing from Vila Nova De Gaia - Devesas and arriving at Sol via Porto Campanha, Vigo Urzaiz and Madrid Chamartín. The journey, including transfers, takes approximately 8h 58m.
The distance between Porto and Madrid is 467 km. The road distance is 547.9 km.
The best way to get from Porto to Madrid without a car is to bus and train which takes 8h 7m and costs €55 - €110.
It takes approximately 3h 53m 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 53m and costs €60 - €210. Alternatively, you can train, which costs €100 - €210 and takes 8h 58m, you could also bus via Salamanca, which costs €45 - €85 and takes 8h 56m.
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 Vila Nova De Gaia - Devesas to Sol via Porto Campanha, Vigo Guixar, Avda. de García Barbón 90, Avda. de García Barbón 106, Vigo Urzaiz, and Madrid Chamartín in around 8h 58m.
- 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–150
- 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
- €28–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
- €30–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
- €80–250
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
- €80–250
- 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 Vigo Urzaiz to Madrid Chamartín
- Ave. Duration
- 3h 55m
- Frequency
- 5 times a day
- Estimated price
- €95–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
- 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 Vigo Guixar
- Ave. Duration
- 2h 30m
- Frequency
- 4 times a day
- Estimated price
- €21–35
- Website
- https://www.renfe.com/es/en
Train from Vigo Urzaiz to Madrid Chamartín
- Ave. Duration
- 4h 24m
- Frequency
- Twice daily
- Estimated price
- €80–130
- 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
- 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
- +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–27
- Website
- https://www.monbus.es/en
- 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
- €8–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 Salamanca station.
Madrid is 1h ahead of Porto. It is currently 10:21 AM in Porto and 11:21 AM in Madrid.
Porto to Madrid train services, operated by Renfe Viajeros, arrive at Vigo Guixar 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 train tickets online with Omio.
There are 7041+ hotels available in Madrid.



































