Rome2Rio uses cookies to help personalize content and show you personalised ads. By proceeding, you accept the use of cookies in accordance with our privacy policy. You may opt out of personalised ads at any time. OK

Need a hotel room in Porto?

Book now

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

  1. Fly from Madrid (MAD) to Porto (OPO)

6 alternative options

Fly to Vigo, train

  1. Fly from Madrid (MAD) to Vigo (VGO)
  2. Take the train from Vigo Guixar to Porto - Campanha

Train, bus, towncar

  1. Take the train from Madrid-Chamartin to Zamora
  2. Take the bus from Zamora to Bragança
  3. Take a town car from Bragança to Porto Airport

Train

  1. Take the train from Madrid-Chamartin to Vigo Urzaiz
  2. Take the train from Vigo Guixar to Porto - Campanha

Night bus

  1. Take the night bus from Madrid to Campanhã Bus terminal

Drive

  1. Drive from Madrid to Porto

Towncar

  1. Take a town car from Madrid to Porto Airport

Madrid to Porto by night bus

11 Weekly Night buses
8h Average Duration
€50 Cheapest Price
See schedules

Questions & Answers

The cheapest way to get from Madrid to Porto is to fly which costs €23 - €150 and takes 4h 19m.

More details

The fastest way to get from Madrid to Porto is to fly which takes 4h 19m and costs €23 - €150.

More details

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.

More details

The distance between Madrid and Porto is 421 km. The road distance is 559.6 km.

Get driving directions

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.

More details

It takes approximately 4h 19m to get from Madrid to Porto, including transfers.

More details

Madrid to Porto bus services, operated by FlixBus, depart from Madrid station.

More details

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.

Mode details

The quickest flight from Madrid Airport to Porto Airport is the direct flight which takes 1h 15m.

Search flights

Madrid to Porto bus services, operated by FlixBus, arrive at Campanhã Bus terminal station.

More details

Map of how to get from Madrid to Porto.
Launch map view
  • 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.

Airlines
Iberia
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
Air Europa
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
Ryanair
Website
ryanair.com
Flights from Madrid to Porto
Ave. Duration
1h 15m
When
Every day
Estimated price
€21 - €150
easyJet
Website
easyjet.com
Flights from Madrid to Porto
Ave. Duration
1h 20m
When
Every day
Estimated price
€23 - €150
Train operators
Renfe Viajeros
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
Bus operators
Iberocoach
Phone
+34 988 590 210
Email
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/
FlixBus
Rome2Rio's guide to FlixBus
Contact Details
Phone
+49 30 300 137 300
Email
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
Is there Wi-Fi on FlixBus?
Yes - FlixBus offers free Wi-Fi
Are there power outlets on FlixBus?
Yes
Does FlixBus offer meals or snacks?
Yes - snacks and drinks may be purchased from the driver. Please note, this is not available on all services.
For more information, please visit this page
Other operators
VMTransfers
Phone
(+351) 220971653
Email
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.

More 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.

Get driving directions

easyJet, TAP Portugal, Ryanair and two other airlines offer flights from Madrid Airport to Porto Airport.

Search flights

Book your Madrid to Porto bus tickets online with FlixBus.

Search and book

There are 2103+ hotels available in Porto. Prices start at €66 per night.

More details

The best way to get from Madrid to Madrid Airport is to train which takes 26 min and costs €2 - €3.

More details

ticket