There are 7 ways to get from Madrid to Douro Valley by train, plane, bus, 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€108–359Bus
cheapest- 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€32–60Train, bus
- Take the train from Madrid Chamartín to Zamoratrain Ave
- Take the bus from Zamora to Terminal Rodoviário de Vila Realbus N1102
8h 22m€65–112Drive 468.3 km
- Drive from Madrid to Douro Valleycar 468.3 km
5h 26m€77–111Fly 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
6h 42m€193–357Train, bus via Madrid Chamartín
- Take the train from Madrid Chamartín to Zamoratrain Ave
- Take the bus from Zamora to Vila Realbus FlixBus N1157 / ...
8h 57m€63–124Bus via Samodães
- 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€32–63
Braganca Airport (BGC) to Vila Real Airport (VRL) flights
Comparing Your Travel Options
The cheapest way to get from Madrid to Douro Valley is to bus which costs €30 - €65 and takes 9h 11m.
The fastest way to get from Madrid to Douro Valley is to train and fly which takes 4h 1m and costs €100 - €360.
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.
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 train and bus which takes 8h 22m and costs €65 - €120.
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 bus services, operated by Rede Expressos, arrive at Estação Rodoviária de Viseu 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.
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.
- 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
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Madrid Chamartín to Puebla De Sanabria Llegada
- Ave. Duration
- 1h 39m
- Frequency
- Every 3 hours
- Estimated price
- €40–65
- Website
- Renfe Viajeros
Train from Madrid Chamartín to Zamora
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- €29–45
- Website
- Renfe Viajeros
Train from Madrid Chamartín to Zamora
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Estimated price
- €29–45
- Website
- Renfe Viajeros
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Zamora to Terminal Rodoviário de Vila Real
- Ave. Duration
- 3h 30m
- Frequency
- 4 times a week
- Estimated price
- €18–28
- Website
- Flixbus
Bus from Zamora to Vila Real
- Ave. Duration
- 3h 50m
- Frequency
- Once daily
- Estimated price
- €19–29
- Website
- Flixbus
- Phone
- (+351) 220 971 653
- [email protected]
- Website
- VM Transfers
Towncar from Porto - Aeroporto Francisco Sá Carneiro to Peso da Régua
- Ave. Duration
- 1h 17m
- Frequency
- On demand
- Estimated price
- €145
- Website
- VM Transfers
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








