There are 7 ways to get from Madrid to Porto by plane, train, bus, towncar, night bus 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.
Recommended option
Fly to Porto
-
Fly from Madrid (MAD) to Porto (OPO)
6 alternative options
Fly to Vigo, train
-
Fly from Madrid (MAD) to Vigo (VGO)
-
Take the train from Vigo Guixar to Porto - Campanha
Train, bus, towncar
-
Take the train from Madrid-Chamartin to Zamora
-
Take the bus from Zamora to Bragança
-
Take a town car from Bragança to Porto Airport
Train
-
Take the train from Madrid-Chamartin to Vigo Urzaiz
-
Take the train from Vigo Guixar to Porto - Campanha
Night bus
-
Take the night bus from Madrid to Campanhã Bus terminal
Drive
-
Drive from Madrid to Porto
Towncar
-
Take a town car from Madrid to Porto Airport
Madrid to Porto by night bus
Questions & Answers
The cheapest way to get from Madrid to Porto is to fly which costs €23 - €150 and takes 4h 19m.
The fastest way to get from Madrid to Porto is to fly which takes 4h 19m and costs €23 - €150.
Yes, there is an overnight bus departing from Madrid and arriving at Campanhã Bus terminal. This bus operates every day. The journey takes approximately 8h.
The distance between Madrid and Porto is 421 km. The road distance is 559.6 km.
The best way to get from Madrid to Porto without a car is to train and bus and towncar which takes 8h 27m and costs €220 - €310.
It takes approximately 4h 19m to get from Madrid to Porto, including transfers.
Madrid to Porto bus services, operated by FlixBus, depart from Madrid station.
The best way to get from Madrid to Porto is to fly which takes 4h 19m and costs €23 - €150. Alternatively, you can train, which costs €60 - €95 and takes 9h 24m.
The quickest flight from Madrid Airport to Porto Airport is the direct flight which takes 1h 15m.
Madrid to Porto bus services, operated by FlixBus, arrive at Campanhã Bus terminal station.

- Distance: 421.2 km
- Duration: 4h 19m
What companies run services between Madrid, Spain and Porto, Portugal?
Ryanair, Air Europa and three other airlines fly from Madrid to Porto every 2 hours. Alternatively, you can take a train from Madrid to Porto via Madrid - Chamartín - Clara Campoamor Train Station, Madrid-Chamartin, Vigo Urzaiz, Garcia Barbón 127, Miragalla, and Vigo Guixar in around 9h 24m.

- Website
- iberia.com
Flights from Madrid to Porto
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- €35 - €250
Flights from Madrid to Vigo
- Ave. Duration
- 1h 19m
- When
- Every day
- Estimated price
- €35 - €290

- Website
- aireuropa.com
Flights from Madrid to Porto
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €30 - €190
Flights from Madrid to Vigo
- Ave. Duration
- 1h 5m
- When
- Every day
- Estimated price
- €30 - €210

- Website
- ryanair.com
Flights from Madrid to Porto
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €21 - €150

- Website
- easyjet.com
Flights from Madrid to Porto
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- €23 - €150

Rome2Rio's guide to Renfe Viajeros
Contact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Vigo Guixar to Porto - Campanha
- Ave. Duration
- 2h 22m
- Frequency
- Twice daily
- Estimated price
- €15 - €22
- Website
- https://www.renfe.com/es/en
Train from Madrid-Chamartin to Zamora
- Ave. Duration
- 1h 23m
- Frequency
- Every 2 hours
- Estimated price
- €20 - €28
- Website
- https://www.renfe.com/es/en
Train from Madrid-Chamartin to Vigo Urzaiz
- Ave. Duration
- 4h 12m
- Frequency
- 4 times a day
- Estimated price
- €45 - €70
- Website
- https://www.renfe.com/es/en

Rome2Rio's guide to Renfe AVE
Contact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid-Chamartin to Zamora
- Ave. Duration
- 1h 3m
- Frequency
- Twice daily
- Estimated price
- €30 - €45
- Website
- https://www.renfe.com/es/en
- Básico
- €30 - €45

- Phone
- +34 988 590 210
- info@iberocoach.com
- Website
- iberocoach.com
Bus from Zamora to Bragança
- Ave. Duration
- 1h 30m
- Frequency
- Twice daily
- Estimated price
- €4 - €7
- Website
- http://www.iberocoach.com/en/home-2/
- Website
- https://iberocoach.diagram.net/en/

Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.de
Bus from Zamora to Bragança
- Ave. Duration
- 1h 20m
- Frequency
- Once daily
- Estimated price
- €10 - €15
- Website
- https://www.flixbus.co.uk
Night bus from Madrid to Campanhã Bus terminal
- Ave. Duration
- 8h
- Frequency
- Once daily
- Estimated price
- €50 - €70
- Website
- https://www.flixbus.co.uk
Frequently asked questions

- Phone
- +376 806 555
- cooperativa@interurbana.ad
- Website
- interurbana.ad
Bus from Zamora Bus Station to Braganca Bus Station
- Ave. Duration
- 2h 30m
- Frequency
- Once a week
- Website
- Cooperativa Interurbana Andorrana

- Phone
- +34 910 207 007
- alsa@alsa.es
- Website
- alsa.es
Night bus from Madrid Estacion Sur to Oporto Campanha
- Ave. Duration
- 7h 59m
- Frequency
- Once daily
- Estimated price
- €90 - €140
- Website
- https://www.alsa.com/en/web/bus/home

- Phone
- (+351) 220971653
- info@vmtransfers.com
- Website
- vmtransfers.com
Towncar from Bragança to Porto Airport
- Ave. Duration
- 2h 10m
- Frequency
- On demand
- Estimated price
- €200 - €240
- More information at
- VMTransfers
Towncar from Madrid to Porto Airport
- Ave. Duration
- 6h 35m
- Frequency
- On demand
- Estimated price
- €500 - €650
- More information at
- VMTransfers
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
Top tips on how to best navigate the nation by train, from Alicante to Zaragoza
Read the travel guideWhat are the different types of Renfe trains in Spain?
A simple guide to the different trains, routes and facilities, so you can identify which service is right for you.
Read the travel guideWant to know more about Flixbus?
Rome2Rio’s guide has all the details
Read the travel guideMore Questions & Answers
Porto is 1h behind Madrid. It is currently 2:02 AM in Madrid and 1:02 AM in Porto.
Yes, the driving distance between Madrid to Porto is 560 km. It takes approximately 5h 25m to drive from Madrid to Porto.
easyJet, TAP Portugal, Ryanair and two other airlines offer flights from Madrid Airport to Porto Airport.
Book your Madrid to Porto bus tickets online with FlixBus.
There are 2103+ hotels available in Porto. Prices start at €66 per night.
The best way to get from Madrid to Madrid Airport is to train which takes 26 min and costs €2 - €3.