There are 8 ways to get from Madrid to Porto by plane, train, bus, night train, 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.

Recommended option

Fly to Porto  •  4h 18m

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

27€ - 341€

7 alternative options

Fly to Vigo, train  •  6h 41m

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

49€ - 177€

Train, bus  •  7h 59m

  1. Take the train from Madrid-Chamartin to Zamora Alv / ...
  2. Take the bus from Zamora to Porto, Porto 786

39€ - 83€

Bus  •  9h 45m

  1. Take the bus from Madrid to Oporto

45€ - 70€

Train  •  11h 8m

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

54€ - 75€

Night train, bus  •  12h 27m

  1. Take the night train from Madrid-Chamartin to Guarda 332
  2. Take the bus from Guarda to Porto Campo 24 de Agosto 300 / ...

47€ - 63€

Drive  •  5h 25m

  1. Drive from Madrid to Porto 560.9 km

70€ - 110€

Towncar  •  7h 58m

  1. Take a town car from Madrid to Porto Airport 572.6 km

563€ - 673€

Coronavirus (COVID-19) in Portugal

There is widespread community transmission globally.
Some travel restrictions are being lifted in Portugal. For the latest travel status, please check the official page for Portugal.

For travel planning advice, please refer to our Rome2rio Coronavirus information page .

Coronavirus (COVID-19) Travel Advice

Some border closures are in place for Portugal due to Coronavirus (COVID-19). Most travel to this country is restricted.

Source Type: Media | Last updated: 4/20/2020

Domestic travel is restricted within Portugal due to Coronavirus (COVID-19).

Source Type: Government | Last updated: 4/27/2020

International flights leaving Spain are suspended as part of the response to Coronavirus (COVID-19). Restrictions may also be in place for other modes of transport.

Source Type: Government | Last updated: 3/26/2020

Data sourced from: CDC, ACAPS, OXFORD

Questions & Answers

The cheapest way to get from Madrid to Porto is to fly which costs 27€ - 350€ and takes 4h 18m.

More details

The quickest way to get from Madrid to Porto is to fly which costs 27€ - 350€ and takes 4h 18m.

More details

Yes, there is a direct bus departing from Madrid and arriving at Oporto. Services depart twice daily, and operate Monday to Saturday. The journey takes approximately 9h 45m.

More details

No, there is no direct train from Madrid to Porto. However, there are services departing from Sol and arriving at Porto - Campanha via Madrid-Chamartin and Vigo Guixar. The journey, including transfers, takes approximately 11h 8m.

More details

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

Get driving directions

The best way to get from Madrid to Porto without a car is to train and bus which takes 7h 59m and costs 35€ - 85€.

More details

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

More details

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

More details

Madrid to Porto train services, operated by Renfe Viajeros, depart from Madrid-Chamartin station.

More details

The best way to get from Madrid to Porto is to fly which takes 4h 18m and costs 27€ - 350€. Alternatively, you can bus, which costs 45€ - 70€ and takes 9h 45m, you could also train, which costs 50€ - 75€ and takes 11h 8m.

Mode details

Map of how to get from Madrid to Porto.
Launch map view
  • Distance: 421.2 km
  • Duration: 4h 18m

What companies run services between Madrid, Spain and Porto, Portugal?

Air Europa, Ryanair and two other airlines fly from Madrid to Porto hourly. Alternatively, ALSA operates a bus from Madrid to Oporto twice daily. Tickets cost 45€ - 70€ and the journey takes 9h 45m.

Airlines
Iberia
Website
iberia.com
Flights from Madrid to Porto
Ave. Duration
1h 15m
When
Every day
Estimated price
27€ - 160€
Flights from Madrid to Vigo
Ave. Duration
1h 13m
When
Every day
Estimated price
45€ - 240€
Flights from Madrid to Vigo via Bilbao
Ave. Duration
3h
When
Wednesday and Thursday
Estimated price
45€ - 240€
Air Europa
Website
aireuropa.com
Flights from Madrid to Porto
Ave. Duration
1h 10m
When
Every day
Estimated price
24€ - 120€
Flights from Madrid to Vigo
Ave. Duration
1h 10m
When
Every day
Estimated price
35€ - 160€
TAP Portugal
Website
flytap.com
Flights from Madrid to Porto
Ave. Duration
1h 33m
When
Every day
Estimated price
30€ - 160€
Flights from Madrid to Porto via Lisbon
Ave. Duration
3h 20m
When
Every day
Estimated price
30€ - 160€
Ryanair
Website
ryanair.com
Flights from Madrid to Porto
Ave. Duration
1h 15m
When
Every day
Estimated price
20€ - 110€
Train operators
Renfe Viajeros

Spain's excellent and extensive rail system connects cities across Spain and into neighbouring countries. Renfe's high-speed AVE trains can reach speeds of up to 350km/h, making travel between major cities very efficient. All medium- and long-distance trains require a seat reservation; ticket sales for these trains usually open 30-60 days before travel. Most Renfe trains have two classes: Turista (2nd class) and Preferente (1st class), although some AVE trains offer Turista Plus. There is free WiFi for Preferente passengers and for those with a +Renfe loyalty card.

Rome2rio's guide to Renfe Viajeros
Contact Details
Phone
902 320 320
Website
renfe.com
Train from Vigo Guixar to Porto - Campanha
Ave. Duration
2h 22m
Frequency
Twice daily
Estimated price
14€ - 18€
Website
Renfe Viajeros
Train from Madrid-Chamartin to Zamora
Ave. Duration
1h 29m
Frequency
5 times a day
Estimated price
17€ - 22€
Website
Renfe Viajeros
Train from Madrid-Chamartin to Vigo Guixar
Ave. Duration
6h 36m
Frequency
Twice daily
Estimated price
35€ - 50€
Website
Renfe Viajeros
Night train from Madrid-Chamartin to Guarda
Ave. Duration
5h 38m
Frequency
Once daily
Estimated price
28€ - 35€
Website
Renfe Viajeros
Renfe AVE
Rome2rio's guide to Renfe AVE
Contact Details
Website
renfe.com
Train from Madrid-Chamartin to Zamora
Ave. Duration
1h 34m
Frequency
5 times a week
Estimated price
23€ - 55€
Website
Renfe AVE
Promo
23€ - 30€
Promo+
29€ - 31€
Flexible
40€ - 55€
Bus operators
FlixBus

One of Europe’s leading bus companies, Flixbus serves 2000+ destinations in 29 countries, including Germany, France, Italy, Austria, the Netherlands and Croatia and into Scandinavia and eastern Europe, as well as some US cities. Coaches have toilets, free WiFi and power outlets, plus snacks and drinks for purchase on board. Flixbus is a good choice for the budget-conscious traveller; purchase tickets in advance for the cheapest fares (note: there is no option to reserve a seat in advance).

Rome2rio's guide to FlixBus
Contact Details
Phone
+49 1807 123 99 123
Email
info@flixbus.de
Website
flixbus.de
Bus from Zamora to Porto, Porto
Ave. Duration
4h 20m
Frequency
4 times a day
Estimated price
17€ - 21€
Website
flixbus.co.uk
ALSA

A Spanish subsidiary of National Express, ALSA provides bus and coach services across Spain and neighbouring countries including Portugal, France, Germany, the Netherlands, Italy, Poland and Malta. Founded in 1923, ALSA values service and the customer experience. Buses are equipped with communal TV screens showing movies, individual behind-seat screens, ALSA radio, app for books and music, and free WiFi. ALSA services are accessible to people with disabilities, and guide dogs are welcome on all journeys. There are three types of tickets on offer (Frequent Traveller Pass, Share Pass and ALSA Pass), along with discounts for senior citizens, students and children.

Contact Details
Phone
+34 902 42 22 42
Website
alsa.es
Bus from Madrid to Oporto
Ave. Duration
9h 45m
Frequency
Twice daily
Estimated price
45€ - 70€
Website
alsa.com
Eurolines FR

Eurolines is a network of coach companies that operate throughout Europe plus Morocco. It’s an affordable way to travel around the continent, with tickets starting at €5. All coaches have Wi-Fi, plug sockets and USBs, reclining chairs and toilets, and a standard ticket includes up to two medium suitcases plus carry-on luggage. Within France, Eurolines serves 69 destinations; including Paris, Lyon, Versailles, Nice and Bordeaux.

Contact Details
Phone
+ 33 1 41 86 24 21
Website
eurolines.fr
Bus from Guarda to Porto Campo 24 de Agosto
Ave. Duration
4h 30m
Frequency
Every 4 hours
Estimated price
18€ - 26€
Website
Eurolines FR
Other operators
VMTransfers
Phone
(+351) 220971653
Email
info@vmtransfers.com
Website
vmtransfers.com
Towncar from Madrid to Porto Airport
Ave. Duration
7h
Frequency
On demand
Estimated price
550€ - 700€
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

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

Search flights

Madrid to Porto bus services, operated by ALSA, arrive at Oporto station.

More details

Porto is 1h behind Madrid. It is currently 10:32 PM in Madrid and 9:32 PM in Porto.

Madrid to Porto train services, operated by Renfe Viajeros, arrive at Porto - Campanha station.

More details

Yes, the driving distance between Madrid to Porto is 561 km. It takes approximately 5h 25m to drive from Madrid to Porto.

Get driving directions

Ryanair, Air Europa, Iberia and TAP Portugal offer flights from Madrid Airport to Porto Airport.

Search flights

Book your Madrid to Porto bus tickets online with Omio and Busbud.

Search and book

There are 4203+ hotels available in Porto. Prices start at 87€ per night.

More details