There are 7 ways to get from Douro Valley to Madrid by plane, train, bus, 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 Vila Real Airport to Braganca Airport, train
best- Fly from Vila Real Airport (VRL) to Braganca Airport (BGC)plane VRL - BGC
- Take the train from Puebla De Sanabria Llegada to Madrid Chamartíntrain
4h 4m€107–353Bus
cheapest- Take the bus from Central de Camionagem de Lamego to Estação Rodoviária de Viseubus 78 | Vila Real / ...
- Take the bus from Estação Rodoviária de Viseu to Estación Sur de Autobusesbus Porto
9h 12m€34–84Train
- Take the train from Caldas De Moledo to Porto Campanhatrain Re
- 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
13h 2m€96–187Drive 468.1 km
- Drive from Douro Valley to Madridcar 468.1 km
5h 25m€75–108Train to Francisco De Sá Carneiro Airport, fly to Adolfo Suárez Madrid–Barajas Airport
- Take the train from Caldas De Moledo to Ermesindetrain
- Fly from Francisco De Sá Carneiro Airport (OPO) to Adolfo Suárez Madrid–Barajas Airport (MAD)plane OPO - MAD
7h 57m€71–230Bus, train
- Take the bus from Terminal Rodoviário de Vila Real to Zamorabus N1102
- Take the train from Zamora to Madrid Chamartíntrain Ave
9h 16m€47–94Bus via São Geão
- Take the bus from Central de Camionagem de Lamego to Estação Rodoviária de Viseubus 78 | Vila Real / ...
- Take the bus from Estação Rodoviária de Viseu to Estación Sur de Autobusesbus
9h 28m€34–79
Vila Real Airport (VRL) to Braganca Airport (BGC) flights
Questions & Answers
The cheapest way to get from Douro Valley to Madrid is to bus which costs €30 - €85 and takes 9h 12m.
The fastest way to get from Douro Valley to Madrid is to fly and train which takes 4h 4m and costs €100 - €360.
No, there is no direct bus from Douro Valley to Madrid. However, there are services departing from Samodães and arriving at Estación Sur de Autobuses via Central de Camionagem de Lamego and Estação Rodoviária de Viseu. The journey, including transfers, takes approximately 9h 12m.
No, there is no direct train from Douro Valley to Madrid. However, there are services departing from Caldas De Moledo and arriving at Madrid Chamartín via Porto Campanha, Porrino and Ourense. The journey, including transfers, takes approximately 13h 2m.
The distance between Douro Valley and Madrid is 501 km. The road distance is 468.1 km.
The best way to get from Douro Valley to Madrid without a car is to bus which takes 9h 12m and costs €30 - €85.
It takes approximately 4h 4m to get from Douro Valley to Madrid, including transfers.
Douro Valley to Madrid bus services, operated by Rede Expressos, depart from Central de Camionagem de Lamego station.
Douro Valley to Madrid train services, operated by Comboios de Portugal, depart from Caldas De Moledo station.
The best way to get from Douro Valley to Madrid is to bus which takes 9h 12m and costs €30 - €85. Alternatively, you can train, which costs €95 - €190 and takes 13h 2m.
What companies run services between Douro Valley, Portugal and Madrid, Spain?
You can take a vehicle from Douro Valley to Estación Sur de Autobuses via Samodães, Central de Camionagem de Lamego, and Estação Rodoviária de Viseu in around 9h 12m. Alternatively, you can take a vehicle from Douro Valley to Madrid Chamartín via Caldas De Moledo, Porto Campanha, Porrino, and Ourense in around 13h 2m.
- 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–180
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Puebla De Sanabria Llegada to Madrid Chamartín
- Ave. Duration
- 1h 41m
- Frequency
- 5 times a day
- Estimated price
- €40–65
- Website
- Renfe Viajeros
Train from Porto Campanha to Porrino
- Ave. Duration
- 2h
- Frequency
- Twice daily
- Estimated price
- €18–28
- Website
- Renfe Viajeros
Train from Porrino to Ourense
- Ave. Duration
- 1h 55m
- Frequency
- Twice daily
- Estimated price
- €13–20
- Website
- Renfe Viajeros
Train from Ourense to Madrid Chamartín
- Ave. Duration
- 2h 41m
- Frequency
- Every 4 hours
- Estimated price
- €55–90
- Website
- Renfe Viajeros
Train from Zamora to Madrid Chamartín
- Ave. Duration
- 1h 12m
- Frequency
- Every 4 hours
- Estimated price
- €29–45
- Website
- Renfe Viajeros
- Phone
- +351 21 75 24 524
- Website
- Rede Expressos
Bus from Central de Camionagem de Lamego to Estação Rodoviária de Viseu
- Ave. Duration
- 45 min
- Frequency
- 5 times a day
- Estimated price
- €4–10
- Website
- Rede Expressos
Bus from Central de Camionagem de Lamego to Estação Rodoviária de Viseu
- Ave. Duration
- 45 min
- Frequency
- 5 times a day
- Estimated price
- €4–10
- Website
- Rede Expressos
Bus from Estação Rodoviária de Viseu to Estación Sur de Autobuses
- Ave. Duration
- 5h 31m
- Frequency
- Twice daily
- Estimated price
- €30–70
- Website
- Rede Expressos
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
Douro Valley to Madrid bus services, operated by Rede Expressos, arrive at Estação Rodoviária de Viseu station.
Douro Valley to Madrid train services, operated by Comboios de Portugal, arrive at Porto Campanha station.
Yes, the driving distance between Douro Valley to Madrid is 468 km. It takes approximately 5h 25m to drive from Douro Valley to Madrid.
There are 7043+ hotels available in Madrid.








