There are 6 ways to get from Porto (Station) to Madrid by bus, train (Renfe), car, plane, 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.
Bus
best- Take the bus from Porto - Terminal Intermodal de Campanhã to Estación Sur de Autobusesbus BlaBlaCar Bus
6h 40m€35–95Fly from Francisco De Sá Carneiro Airport
cheapest- Fly from Francisco De Sá Carneiro Airport (OPO) to Adolfo Suárez Madrid–Barajas Airport (MAD)plane OPO - MAD
4h€32–176Train (Renfe)
- Take the train from Porto Campanha to Redondela De Galiciatrain Ic
- Take the train from Pontevedra to Madrid Chamartíntrain Ave
8h 5m€98–205Drive 550.5 km
- Drive from Porto (Station) to Madridcar 550.5 km
5h 35m€88–126Bus, train
- Take the bus from Porto to Zamorabus FlixBus N1151 / ...
- Take the train from Zamora to Madrid Chamartíntrain Ave
7h 49m€58–112Train 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€65–218
Porto (Station) to Madrid by bus
Questions & Answers
The cheapest way to get from Porto (Station) to Madrid is to bus which costs €35 - €95 and takes 6h 40m.
The fastest way to get from Porto (Station) to Madrid is to fly which takes 4h and costs €30 - €180.
Yes, there is a direct bus departing from Porto - Terminal Intermodal de Campanhã and arriving at Estación Sur de Autobuses. Services depart five times a day, and operate every day. The journey takes approximately 6h 40m.
No, there is no direct train from Porto (Station) to Madrid. However, there are services departing from Porto Campanha and arriving at Madrid Chamartín via Redondela De Galicia and Pontevedra. The journey, including transfers, takes approximately 8h 5m.
The distance between Porto (Station) and Madrid is 557 km. The road distance is 550.5 km.
The best way to get from Porto (Station) to Madrid without a car is to bus which takes 6h 40m and costs €35 - €95.
The bus from Porto - Terminal Intermodal de Campanhã to Madrid, Estación Sur De Autobuses takes 6h 40m including transfers and departs five times a day.
Porto (Station) to Madrid bus services, operated by BlaBlaCar Bus, depart from Porto - Terminal Intermodal de Campanhã station.
Porto (Station) to Madrid train services, operated by Renfe Viajeros, depart from Porto Campanha station.
The best way to get from Porto (Station) to Madrid is to bus which takes 6h 40m and costs €35 - €95. Alternatively, you can train, which costs €95 - €210 and takes 8h 5m, you could also fly, which costs €30 - €180 and takes 4h.
What companies run services between Porto (Station), Portugal and Madrid, Spain?
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. Two other operators also service this route. Alternatively, you can take a vehicle from Porto (Station) to Madrid Chamartín via Porto Campanha, Redondela De Galicia, and Pontevedra in around 8h 5m.
- 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, 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 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
- 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
- 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
- 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–95
- Website
- https://rede-expressos.pt/en
- [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
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- https://www.flixbus.fr
Bus from Porto to Zamora
- Ave. Duration
- 6h 15m
- Frequency
- 4 times a week
- Estimated price
- €28–50
- Website
- https://www.flixbus.co.uk
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 (Station) to Madrid bus services, operated by BlaBlaCar Bus, arrive at Estación Sur de Autobuses station.
Madrid is 1h ahead of Porto (Station). It is currently 5:59 AM in Porto (Station) and 6:59 AM in Madrid.
Porto (Station) to Madrid train services, operated by Renfe Viajeros, arrive at Redondela De Galicia station.
Yes, the driving distance between Porto (Station) to Madrid is 551 km. It takes approximately 5h 35m to drive from Porto (Station) to Madrid.
Book your Porto (Station) to Madrid bus tickets online with Omio.
There are 6560+ hotels available in Madrid.

























