There are 7 ways to get from Madrid to Douro Valley by train, plane, bus, train (Renfe), car, 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.
Train to Braganca Airport, fly to Vila Real Airport
best- Take the train from Madrid Chamartín to Puebla De Sanabria Llegadatrain
- Fly from Braganca Airport (BGC) to Vila Real Airport (VRL)plane BGC - VRL
4h 1m€105–332Bus via Samodães
cheapest- Take the bus from Estación Sur de Autobuses to Estação Rodoviária de Viseubus Madrid
- Take the bus from Estação Rodoviária de Viseu to Central de Camionagem de Lamegobus 78 | Covilhã / ...
9h 15m€33–68Bus
- Take the bus from Estación Sur de Autobuses to Estação Rodoviária de Viseubus
- Take the bus from Estação Rodoviária de Viseu to Central de Camionagem de Lamegobus 78 | Covilhã / ...
9h 11m€36–85Train
- Take the train from Madrid Chamartín to Pontevedratrain Ave
- Take the train from Redondela De Galicia to Porto Campanhatrain Ic
- Take the train from Porto Campanha to Marco De Canavesestrain 871 / ...
13h 5m€110–223Drive 468.3 km
- Drive from Madrid to Douro Valleycar 468.3 km
5h 26m€75–108Fly Adolfo Suárez Madrid–Barajas Airport to Francisco De Sá Carneiro Airport, towncar
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Francisco De Sá Carneiro Airport (OPO)plane MAD - OPO
- Take a town car from Porto - Aeroporto Francisco Sá Carneiro to Peso da Réguatowncar
8h 29m€177–318Train, bus
- Take the train from Madrid Chamartín to Zamoratrain Ave
- Take the bus from Zamora to Vila Realbus FlixBus N1151 / ...
10h 29m€48–113
Braganca Airport (BGC) to Vila Real Airport (VRL) flights
Questions & Answers
The cheapest way to get from Madrid to Douro Valley is to bus via Samodães which costs €30 - €70 and takes 9h 15m.
The fastest way to get from Madrid to Douro Valley is to train and fly which takes 4h 1m and costs €100 - €340.
No, there is no direct bus from Madrid to Douro Valley. However, there are services departing from Estación Sur de Autobuses and arriving at São Geão via Estação Rodoviária de Viseu and Central de Camionagem de Lamego. The journey, including transfers, takes approximately 9h 11m.
No, there is no direct train from Madrid to Douro Valley. However, there are services departing from Madrid Chamartín and arriving at Caldas De Moledo via Pontevedra, Redondela De Galicia, Porto Campanha and Marco De Canaveses. The journey, including transfers, takes approximately 13h 5m.
The distance between Madrid and Douro Valley is 500 km. The road distance is 468.3 km.
The best way to get from Madrid to Douro Valley without a car is to bus which takes 9h 11m and costs €35 - €85.
It takes approximately 4h 1m to get from Madrid to Douro Valley, including transfers.
Madrid to Douro Valley bus services, operated by Rede Expressos, depart from Estación Sur de Autobuses station.
Madrid to Douro Valley train services, operated by Renfe AVE, depart from Madrid Chamartín station.
The best way to get from Madrid to Douro Valley is to bus which takes 9h 11m and costs €35 - €85. Alternatively, you can train, which costs €110 - €230 and takes 13h 5m.
What companies run services between Madrid, Spain and Douro Valley, Portugal?
You can take a bus from Estación Sur de Autobuses to Douro Valley via Estação Rodoviária de Viseu, Central de Camionagem de Lamego, and São Geão in around 9h 11m. Alternatively, you can take a train from Madrid Chamartín to Douro Valley via Pontevedra, Redondela De Galicia, Porto Campanha, Marco De Canaveses, and Caldas De Moledo in around 13h 5m.
- 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
- €29–160
- Website
- fly.sevenair.com
Flights from Braganca Airport to Vila Real Airport
- Ave. Duration
- 20 min
- When
- Monday to Saturday
- Estimated price
- €27–300
- Website
- worldticket.com
Flights from Braganca Airport to Vila Real Airport
- Ave. Duration
- 20 min
- When
- Monday to Saturday
- Estimated price
- €27–300
- 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
- €29–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
- €85–300
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
- €85–300
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid Chamartín to Puebla De Sanabria Llegada
- Ave. Duration
- 1h 39m
- Frequency
- Every 3 hours
- Estimated price
- €40–65
- 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
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid Chamartín to Pontevedra
- Ave. Duration
- 3h 53m
- Frequency
- Every 4 hours
- Estimated price
- €95–170
- Website
- https://www.renfe.com/es/en
Train from Madrid Chamartín to Zamora
- Ave. Duration
- 1h 7m
- Frequency
- Hourly
- Estimated price
- €35–65
- Website
- https://www.renfe.com/es/en
- Phone
- +351 210 900 032
- Website
- cp.pt
Train from Porto Campanha to Marco De Canaveses
- Ave. Duration
- 57 min
- Frequency
- Every 30 minutes
- Estimated price
- €6–12
- Website
- https://www.cp.pt/en/
- Phone
- +351 21 75 24 524
- Website
- rede-expressos.pt
Bus from Estación Sur de Autobuses to Estação Rodoviária de Viseu
- Ave. Duration
- 5h 35m
- Frequency
- Twice daily
- Estimated price
- €30–75
- Website
- https://rede-expressos.pt/en
Bus from Estação Rodoviária de Viseu to Central de Camionagem de Lamego
- Ave. Duration
- 45 min
- Frequency
- Every 4 hours
- Estimated price
- €4–11
- Website
- https://rede-expressos.pt/en
Bus from Estação Rodoviária de Viseu to Central de Camionagem de Lamego
- Ave. Duration
- 45 min
- Frequency
- Every 4 hours
- Estimated price
- €4–11
- Website
- https://rede-expressos.pt/en
- [email protected]
- Website
- gipsyy.com
Bus from Estación Sur de Autobuses to Estação Rodoviária de Viseu
- Ave. Duration
- 5h 35m
- Frequency
- Twice daily
- Estimated price
- €29–60
- 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 Zamora to Vila Real
- Ave. Duration
- 3h 50m
- Frequency
- 4 times a week
- Estimated price
- €20–35
- Website
- https://www.flixbus.co.uk
- Phone
- (+34) 988 225 288
- [email protected]
- Website
- anpian.com
Bus from Zamora to Vila Real
- Ave. Duration
- 3h 14m
- Frequency
- 4 times a week
- Estimated price
- €17–24
- Schedules at
- anpian.com
- Phone
- +376 806 555
- [email protected]
- Website
- interurbana.ad
Bus from Zamora to Vila Real
- Ave. Duration
- 4h 15m
- Frequency
- Twice a week
- Estimated price
- €43
- Website
- https://www.interurbana.ad/idioma-en
- Phone
- (+351) 220 971 653
- [email protected]
- Website
- vmtransfers.com
Towncar from Porto - Aeroporto Francisco Sá Carneiro to Peso da Régua
- Ave. Duration
- 1h 17m
- Frequency
- On demand
- Estimated price
- €145
- 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 Douro Valley bus services, operated by Rede Expressos, arrive at Estação Rodoviária de Viseu station.
Madrid to Douro Valley train services, operated by Renfe AVE, arrive at Pontevedra station.
Yes, the driving distance between Madrid to Douro Valley is 468 km. It takes approximately 5h 26m to drive from Madrid to Douro Valley.
There are 786+ hotels available in Douro Valley.






























