There are 7 ways to get from Porto (Station) to Madrid by bus, train, train (Renfe), car, plane, 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.
Bus, train
best- Take the bus from Porto to Zamorabus N1102 / ...
- Take the train from Zamora to Madrid Chamartíntrain Ave
6h 38m€56–96Fly 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–189Train (Renfe)
- Take the train from Porto Campanha to Porrinotrain Ic
- Take the train from Porrino to Ourensetrain Re
- Take the train from Ourense to Madrid Chamartíntrain Ave
8h 17m€86–155Drive 550.5 km
- Drive from Porto (Station) to Madridcar 550.5 km
5h 35m€101–146Bus
- Take the bus from Porto - Terminal Intermodal de Campanhã to Estación Sur de Autobusesbus
7h 30m€35–75Train 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€59–265Towncar, train
- Take a town car from Porto - Aeroporto Francisco Sá Carneiro to Ourensetowncar
- Take the train from Ourense to Madrid Chamartíntrain Ave
7h 32m€307–367
Porto (Station) to Madrid by bus and train
Comparing Your Travel Options
The cheapest way to get from Porto (Station) to Madrid is to bus which costs €35 - €75 and takes 7h 30m.
The fastest way to get from Porto (Station) to Madrid is to fly which takes 4h and costs €30 - €190.
Yes, there is a direct bus departing from Porto - Terminal Intermodal de Campanhã and arriving at Estación Sur de Autobuses. Services depart four times a day, and operate every day. The journey takes approximately 7h 30m.
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 Porrino and Ourense. The journey, including transfers, takes approximately 8h 17m.
The distance between Porto (Station) and Madrid is 542 km. The road distance is 550.5 km.
The best way to get from Porto (Station) to Madrid without a car is to bus and train which takes 6h 38m and costs €55 - €100.
It takes approximately 6h 38m to get from Porto (Station) to Madrid, including transfers.
Porto (Station) to Madrid bus services, operated by Rede Expressos, 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 train which takes 8h 17m and costs €85 - €160. Alternatively, you can fly, which costs €30 - €190 and takes 4h, you could also bus, which costs €35 - €75 and takes 7h 30m.
What companies run services between Porto (Station), Portugal and Madrid, Spain?
You can take a vehicle from Porto (Station) to Madrid Chamartín via Porto Campanha, Porrino, and Ourense in around 8h 17m. Alternatively, Iberia, Air Europa, and three other airlines fly from Francisco De Sá Carneiro Airport (OPO) to Adolfo Suárez Madrid–Barajas Airport (MAD) every 2 hours.
- 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
- €26–120
Flights from Vigo to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €35–240
- 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
- €25–170
Flights from Vigo to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €35–220
- Website
- ryanair.com
Flights from Francisco De Sá Carneiro Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €30–200
- Website
- flytap.com
Flights from Francisco De Sá Carneiro Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 1h 25m
- When
- Monday, Tuesday, Thursday, and Saturday
- Estimated price
- €100–250
Flights from Francisco De Sá Carneiro Airport to Adolfo Suárez Madrid–Barajas Airport via Lisboa
- Ave. Duration
- 3h 20m
- When
- Every day
- Estimated price
- €40–150
- Website
- ethiopianairlines.com
Flights from Francisco De Sá Carneiro Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 1h 25m
- When
- Monday, Tuesday, Thursday, and Saturday
- Estimated price
- €100–250
Rome2Rio's guide to Renfe AVE
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe AVE
Train from Zamora to Madrid Chamartín
- Ave. Duration
- 1h 7m
- Frequency
- Every 4 hours
- Estimated price
- €30–55
- Website
- Renfe AVE
Train from Ourense to Madrid Chamartín
- Ave. Duration
- 2h 25m
- Frequency
- Every 3 hours
- Estimated price
- €60–110
- Website
- Renfe AVE
Train from Ourense to Madrid Chamartín
- Ave. Duration
- 2h 25m
- Frequency
- Every 3 hours
- Estimated price
- €60–110
- Website
- Renfe AVE
Rome2Rio's guide to Renfe Viajeros
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Zamora to Madrid Chamartín
- Ave. Duration
- 1h 12m
- Frequency
- Every 4 hours
- Estimated price
- €28–45
- Website
- Renfe Viajeros
Train from Porto Campanha to Porrino
- Ave. Duration
- 2h
- Frequency
- Twice daily
- Estimated price
- €18–27
- Website
- Renfe Viajeros
Train from Porrino to Ourense
- Ave. Duration
- 1h 55m
- Frequency
- Twice daily
- Estimated price
- €13–19
- Website
- Renfe Viajeros
Train from Ourense to Madrid Chamartín
- Ave. Duration
- 2h 41m
- Frequency
- Every 4 hours
- Estimated price
- €55–85
- Website
- Renfe Viajeros
Train from Porto Campanha to Vigo Guixar
- Ave. Duration
- 2h 30m
- Frequency
- Twice daily
- Estimated price
- €21–35
- Website
- Renfe Viajeros
Train from Ourense to Madrid Chamartín
- Ave. Duration
- 2h 41m
- Frequency
- Every 4 hours
- Estimated price
- €55–85
- Website
- Renfe Viajeros
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Porto to Zamora
- Ave. Duration
- 4h 35m
- Frequency
- Once daily
- Estimated price
- €27–45
- Website
- Flixbus
- Phone
- +351 21 75 24 524
- Website
- Rede Expressos
Bus from Porto - Terminal Intermodal de Campanhã to Estación Sur de Autobuses
- Ave. Duration
- 7h 30m
- Frequency
- 3 times a day
- Estimated price
- €35–70
- Website
- Rede Expressos
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Porto - Terminal Intermodal de Campanhã to Estación Sur de Autobuses
- Ave. Duration
- 6h 40m
- Frequency
- Once daily
- Estimated price
- €45–75
- Website
- BlaBlaCar 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
- €62
- Schedules at
- gipsyy.com
- Phone
- (+351) 220 971 653
- [email protected]
- Website
- VM Transfers
Towncar from Porto - Aeroporto Francisco Sá Carneiro to Ourense
- Ave. Duration
- 3h 11m
- Frequency
- On demand
- Estimated price
- €250
- Website
- VM Transfers
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
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
Porto (Station) to Madrid bus services, operated by Rede Expressos, arrive at Estación Sur de Autobuses station.
Madrid is 1h ahead of Porto (Station). It is currently 4:13 PM in Porto (Station) and 5:13 PM in Madrid.
Porto (Station) to Madrid train services, operated by Renfe Viajeros, arrive at Porrino 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 train tickets online with Omio.
Book your Porto (Station) to Madrid bus tickets online with Omio.
There are 7033+ hotels available in Madrid.

























