There are 6 ways to get from Madrid to Porto (Station) by plane, bus, train (Renfe), car, or train
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly to Francisco De Sá Carneiro Airport
best- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Francisco De Sá Carneiro Airport (OPO)plane MAD - OPO
4h 9m€32–197Bus
- Take the bus from Estación Sur de Autobuses to Porto - Terminal Intermodal de Campanhãbus
7h 30m€35–75Train (Renfe)
- Take the train from Madrid Chamartín to Pontevedratrain Ave
- Take the train from Redondela De Galicia to Porto Campanhatrain Ic
8h 17m€100–190Drive 552.3 km
- Drive from Madrid to Porto (Station)car 552.3 km
5h 39m€90–130Fly to Vigo, bus
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Vigo (VGO)plane MAD - VGO
- Take the bus from Vigo to Portobus
6h 22m€51–283Train, bus
- Take the train from Madrid Chamartín to Zamoratrain Ave
- Take the bus from Zamora to Portobus FlixBus N1157 / ...
7h 56m€57–104
Madrid to Porto (Station) by bus
Comparing Your Travel Options
The cheapest way to get from Madrid to Porto (Station) is to bus which costs €35 - €75 and takes 7h 30m.
The fastest way to get from Madrid to Porto (Station) is to fly which takes 4h 9m and costs €30 - €200.
Yes, there is a direct bus departing from Estación Sur de Autobuses and arriving at Porto - Terminal Intermodal de Campanhã. Services depart four times a day, and operate every day. The journey takes approximately 7h 30m.
No, there is no direct train from Madrid to Porto (Station). However, there are services departing from Madrid Chamartín and arriving at Porto Campanha via Pontevedra and Redondela De Galicia. The journey, including transfers, takes approximately 8h 17m.
The distance between Madrid and Porto (Station) is 462 km. The road distance is 552.3 km.
The best way to get from Madrid to Porto (Station) without a car is to bus which takes 7h 30m and costs €35 - €75.
It takes approximately 4h 9m to get from Madrid to Porto (Station), including transfers.
Madrid to Porto (Station) bus services, operated by Rede Expressos, depart from Estación Sur de Autobuses station.
Madrid to Porto (Station) train services, operated by Renfe AVE, depart from Madrid Chamartín station.
The best way to get from Madrid to Porto (Station) is to fly which takes 4h 9m and costs €30 - €200. Alternatively, you can bus, which costs €35 - €75 and takes 7h 30m, you could also train, which costs €100 - €190 and takes 8h 17m.
What companies run services between Madrid, Spain and Porto (Station), Portugal?
Iberia, Air Europa, and three other airlines fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Francisco De Sá Carneiro Airport (OPO) hourly. Alternatively, Rede Expressos operates a bus from Estación Sur de Autobuses to Porto - Terminal Intermodal de Campanhã 3 times a day. Tickets cost €35–75 and the journey takes 7h 30m. Two other operators also service this route.
- 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–120
Flights from Adolfo Suárez Madrid–Barajas Airport to Vigo
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- €35–250
- 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
- €26–190
Flights from Adolfo Suárez Madrid–Barajas Airport to Vigo
- Ave. Duration
- 1h 8m
- When
- Every day
- Estimated price
- €35–220
- 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–190
Flights from Adolfo Suárez Madrid–Barajas Airport to Francisco De Sá Carneiro Airport via Faro
- Ave. Duration
- 3h 25m
- When
- Saturday
- Estimated price
- €30–190
- 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–220
Flights from Adolfo Suárez Madrid–Barajas Airport to Francisco De Sá Carneiro Airport via Lisboa
- Ave. Duration
- 3h 20m
- When
- Monday, Wednesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €40–170
- 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–220
Rome2Rio's guide to Renfe AVE
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe AVE
Train from Madrid Chamartín to Pontevedra
- Ave. Duration
- 3h 50m
- Frequency
- 5 times a day
- Estimated price
- €90–160
- Website
- Renfe AVE
Train from Madrid Chamartín to Zamora
- Ave. Duration
- 1h 6m
- Frequency
- Hourly
- Estimated price
- €30–60
- Website
- Renfe AVE
Rome2Rio's guide to Renfe Viajeros
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Madrid Chamartín to Pontevedra
- Ave. Duration
- 4h 5m
- Frequency
- Twice daily
- Estimated price
- €75–120
- Website
- Renfe Viajeros
Train from Redondela De Galicia to Porto Campanha
- Ave. Duration
- 2h 15m
- Frequency
- 4 times a day
- Estimated price
- €20–30
- Website
- Renfe Viajeros
Train from Madrid Chamartín to Zamora
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- €29–45
- Website
- Renfe Viajeros
- Phone
- +351 21 75 24 524
- Website
- Rede Expressos
Bus from Estación Sur de Autobuses to Porto - Terminal Intermodal de Campanhã
- Ave. Duration
- 7h 30m
- Frequency
- 3 times a day
- Estimated price
- €35–75
- Website
- Rede Expressos
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Estación Sur de Autobuses to Porto - Terminal Intermodal de Campanhã
- Ave. Duration
- 6h 15m
- Frequency
- Twice daily
- Estimated price
- €35–65
- Website
- BlaBlaCar 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
- €62
- Schedules at
- gipsyy.com
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Vigo to Porto
- Ave. Duration
- 2h 15m
- Frequency
- Every 4 hours
- Estimated price
- €13–20
- Website
- Flixbus
Bus from Zamora to Porto
- Ave. Duration
- 5h 50m
- Frequency
- Once daily
- Estimated price
- €27–45
- Website
- Flixbus
- Phone
- +34 (0) 986 288 030
- [email protected]
- Website
- Autna S.L.
Bus from Vigo to Porto
- Ave. Duration
- 2h 30m
- Frequency
- 3 times a day
- Estimated price
- €20–50
- Website
- Autna S.L.
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
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
Booking & Getting There
Madrid to Porto (Station) bus services, operated by Rede Expressos, arrive at Porto - Terminal Intermodal de Campanhã station.
Porto (Station) is 1h behind Madrid. It is currently 12:54 AM in Madrid and 11:54 PM in Porto (Station).
Madrid to Porto (Station) train services, operated by Renfe AVE, arrive at Pontevedra station.
Yes, the driving distance between Madrid to Porto (Station) is 552 km. It takes approximately 5h 39m to drive from Madrid to Porto (Station).
Book your Madrid to Porto (Station) bus tickets online with Omio.
There are 6677+ hotels available in Porto (Station).



























