There are 7 ways to get from Madrid to Porto by plane, train, bus, towncar, train (Renfe), 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
best- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Francisco De Sá Carneiro Airport (OPO)plane MAD - OPO
4h 25m€61–204Bus via Campanhã
cheapest- Take the bus from Estación Sur de Autobuses to Porto - Terminal Intermodal de Campanhãbus BlaBlaCar Bus
8h 2m€42–97Train, bus, towncar
- Take the train from Madrid Chamartín to Zamoratrain Ave
- Take the bus from Zamora to Bragançabus
- Take a town car from Bragança to Porto - Aeroporto Francisco Sá Carneirotowncar
7h 30m€322–371Train (Renfe)
- Take the train from Madrid Chamartín to Pontevedratrain Ave
- Take the train from Redondela De Galicia to Porto Campanhatrain Ic
9h 45m€99–212Drive 548.9 km
- Drive from Madrid to Vila Nova de Gaiacar 548.9 km
5h 38m€87–126Train, bus
- Take the train from Madrid Chamartín to Zamoratrain Ave
- Take the bus from Zamora to Porto - Casa da Músicabus Paris / ...
7h 43m€57–105Bus
- Take the bus from Estación Sur de Autobuses to Pólo Universitáriobus
10h 22m€49–116
Madrid to Porto by train (Renfe)
Questions & Answers
The cheapest way to get from Madrid to Porto is to bus which costs €45 - €120 and takes 10h 22m.
The fastest way to get from Madrid to Porto is to fly which takes 4h 25m and costs €60 - €210.
No, there is no direct bus from Madrid to Porto. However, there are services departing from Neptuno and arriving at Barrosa via Estación Sur de Autobuses, Campanhã and Batalha. The journey, including transfers, takes approximately 8h 2m.
No, there is no direct train from Madrid to Porto. However, there are services departing from Sol and arriving at Vila Nova De Gaia - Devesas via Madrid Chamartín, Pontevedra, Redondela De Galicia and Porto Campanha. The journey, including transfers, takes approximately 9h 45m.
The distance between Madrid and Porto is 467 km. The road distance is 548.9 km.
The best way to get from Madrid to Porto without a car is to train and bus and towncar which takes 7h 30m and costs €320 - €380.
It takes approximately 4h 25m to get from Madrid to Porto, including transfers.
Madrid to Porto bus services, operated by BlaBlaCar Bus, depart from Estación Sur de Autobuses station.
Madrid to Porto train services, operated by Renfe AVE, depart from Madrid Chamartín station.
The best way to get from Madrid to Porto is to fly which takes 4h 25m and costs €60 - €210. Alternatively, you can train, which costs €95 - €220 and takes 9h 45m, you could also bus via Campanhã, which costs €40 - €100 and takes 8h 2m.
What companies run services between Madrid, 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 Sol to Vila Nova De Gaia - Devesas via Madrid Chamartín, Pontevedra, Redondela De Galicia, and Porto Campanha in around 9h 45m.
- 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
- €30–160
- 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
- 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
- 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
- €90–290
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–150
- 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
- €90–290
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid Chamartín to Zamora
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Estimated price
- €35–65
- 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
Train from Madrid Chamartín to Zamora
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Estimated price
- €35–65
- Website
- https://www.renfe.com/es/en
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid Chamartín to Zamora
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- €29–45
- 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 Madrid Chamartín to Zamora
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- €29–45
- Website
- https://www.renfe.com/es/en
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- https://www.flixbus.fr
Bus from Zamora to Bragança
- Ave. Duration
- 1h 20m
- Frequency
- 4 times a week
- Estimated price
- €8–15
- Website
- https://www.flixbus.co.uk
- Phone
- (+34) 988 225 288
- [email protected]
- Website
- anpian.com
Bus from Zamora to Bragança
- Ave. Duration
- 1h 30m
- Frequency
- 4 times a week
- Estimated price
- €7–11
- Schedules at
- anpian.com
Bus from Zamora to Porto - Casa da Música
- Ave. Duration
- 4h 30m
- Frequency
- 4 times a week
- Estimated price
- €24–35
- Schedules at
- anpian.com
- Phone
- +376 806 555
- [email protected]
- Website
- interurbana.ad
Bus from Zamora to Bragança
- Ave. Duration
- 2h 30m
- 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 Estación Sur de Autobuses to Porto - Terminal Intermodal de Campanhã
- Ave. Duration
- 6h 15m
- Frequency
- Twice daily
- Estimated price
- €45–90
- Website
- https://www.blablacar.co.uk/bus
- [email protected]
- Website
- gipsyy.com
Bus from Estación Sur de Autobuses to Porto - Terminal Intermodal de Campanhã
- Ave. Duration
- 7h 29m
- Frequency
- Twice daily
- Estimated price
- €35–85
- Schedules at
- gipsyy.com
- Phone
- +351 21 75 24 524
- Website
- rede-expressos.pt
Bus from Estación Sur de Autobuses to Pólo Universitário
- Ave. Duration
- 8h 15m
- Frequency
- Once daily
- Estimated price
- €45–110
- Website
- https://rede-expressos.pt/en
- Phone
- (+351) 220 971 653
- [email protected]
- Website
- vmtransfers.com
Towncar from Bragança to Porto - Aeroporto Francisco Sá Carneiro
- Ave. Duration
- 2h 10m
- 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
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Madrid to Porto bus services, operated by BlaBlaCar Bus, arrive at Porto - Terminal Intermodal de Campanhã station.
Porto is 1h behind Madrid. It is currently 11:53 AM in Madrid and 10:53 AM in Porto.
Madrid to Porto train services, operated by Renfe AVE, arrive at Pontevedra station.
Yes, the driving distance between Madrid to Porto is 549 km. It takes approximately 5h 38m to drive from Madrid to Porto.
Book your Madrid to Porto train tickets online with Omio.
There are 6800+ hotels available in Porto.






























