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

Bus, train  •  7h 25m

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

40€ - 83€

Cheapest option

Fly from Porto  •  4h 23m

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

20€ - 322€

6 alternative options

Bus  •  8h

  1. Take the bus from Oporto to Madrid

40€ - 60€

Train  •  10h 16m

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

54€ - 74€

Rideshare  •  6h 14m

  1. Take the rideshare from Porto to Madrid 561.7 km

23€ - 40€

Drive  •  5h 27m

  1. Drive from Porto to Madrid 562.7 km

70€ - 110€

Train to Vigo, fly  •  6h 5m

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

43€ - 167€

Towncar  •  7h 57m

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

551€ - 702€

Coronavirus (COVID-19) in Spain

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

For travel planning advice, please refer to our Rome2rio Coronavirus information page .
For the latest travel status, we recommend checking the official page for Spain.

Coronavirus (COVID-19) Travel Advice

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

Source Type: Government | Last updated: 5/16/2020

Some domestic travel restrictions began to ease in Spain from 5/9/2020.

Source Type: Government | Last updated: 5/11/2020

International flights leaving Portugal 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: 5/18/2020

Data sourced from: CDC, ACAPS, OXFORD

Questions & Answers

The cheapest way to get from Porto to Madrid is to rideshare which costs 23€ - 40€ and takes 6h 14m.

More details

The quickest way to get from Porto to Madrid is to fly which costs 20€ - 330€ and takes 4h 23m.

More details

Yes, there is a direct bus departing from Oporto and arriving at Madrid. Services depart once daily. The journey takes approximately 8h.

More details

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

More details

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

Get driving directions

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

More details

It takes approximately 7h 25m to get from Porto to Madrid, including transfers.

More details

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

More details

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

More details

The best way to get from Porto to Madrid is to bus which takes 8h and costs 40€ - 60€. Alternatively, you can train, which costs 50€ - 75€ and takes 10h 16m, you could also fly, which costs 20€ - 330€ and takes 4h 23m.

Mode details

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

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

ALSA operates a bus from Oporto to Madrid once daily. Tickets cost 40€ - 60€ and the journey takes 8h. Alternatively, you can take a train from Porto to Madrid via Vigo Guixar, Madrid-Chamartin, and Chamartin in around 10h 16m.

Airlines
Iberia
Website
iberia.com
Flights from Porto to Madrid
Ave. Duration
1h 18m
When
Every day
Estimated price
26€ - 160€
Flights from Vigo to Madrid
Ave. Duration
1h 13m
When
Every day
Estimated price
45€ - 240€
Air Europa
Website
aireuropa.com
Flights from Porto to Madrid
Ave. Duration
1h 10m
When
Every day
Estimated price
23€ - 120€
Flights from Vigo to Madrid
Ave. Duration
1h 10m
When
Every day
Estimated price
35€ - 160€
TAP Portugal
Website
flytap.com
Flights from Porto to Madrid
Ave. Duration
1h 30m
When
Every day
Estimated price
30€ - 160€
Flights from Porto to Madrid via Lisbon
Ave. Duration
3h 7m
When
Every day
Estimated price
30€ - 160€
Ryanair
Website
ryanair.com
Flights from Porto to Madrid
Ave. Duration
1h 15m
When
Every day
Estimated price
19€ - 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 Zamora to Madrid-Chamartin
Ave. Duration
1h 49m
Frequency
Every 4 hours
Estimated price
17€ - 22€
Website
Renfe Viajeros
Train from Porto - Campanha to Vigo Guixar
Ave. Duration
2h 22m
Frequency
Twice daily
Estimated price
14€ - 18€
Website
Renfe Viajeros
Train from Vigo Guixar to Madrid-Chamartin
Ave. Duration
6h 38m
Frequency
Twice daily
Estimated price
35€ - 50€
Website
Renfe Viajeros
Renfe AVE
Rome2rio's guide to Renfe AVE
Contact Details
Website
renfe.com
Train from Zamora to Madrid-Chamartin
Ave. Duration
1h 32m
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 Porto, Porto to Zamora
Ave. Duration
4h 20m
Frequency
Twice daily
Estimated price
17€ - 22€
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 Oporto to Madrid
Ave. Duration
8h
Frequency
Once daily
Estimated price
40€ - 60€
Website
alsa.com
Other operators
BlaBlaCar

Blablacar is a popular ridesharing platform with 70 million users over 22 (mostly European) countries. The basic idea is that you carpool with locals who are already planning to drive your route and have space in their car. With some flexibility, you’ll get to your destination often faster and cheaper than other means. On the website or app, enter your departure and arrival points and your date of travel, sift through the profiles of drivers who’ve posted pre-planned drives and find one whose timing and preferences match yours. Request to join the ride, wait to be accepted, and pay your share of the set price.

Rome2rio's guide to BlaBlaCar
Contact Details
Website
blablacar.com
Rideshare from Porto to Madrid
Ave. Duration
6h 14m
Frequency
3 times a week
Estimated price
23€ - 40€
Book at
blablacar.co.uk
VMTransfers
Phone
(+351) 220971653
Email
info@vmtransfers.com
Website
vmtransfers.com
Towncar from Porto Airport to Madrid
Ave. Duration
7h
Frequency
On demand
Estimated price
550€ - 700€
More information at
VMTransfers

Want to know more about travelling around Spain

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 Porto Airport to Madrid Airport is the direct flight which takes 1h 10m.

Search flights

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

More details

Madrid is 1h ahead of Porto. It is currently 4:29 AM in Porto and 5:29 AM in Madrid.

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

More details

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

Get driving directions

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

Search flights

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

Search and book

There are 3960+ hotels available in Madrid. Prices start at 87€ per night.

More details

Check out Blablacar's carpooling service for rideshare options between Porto and Madrid. A great option if you don't have a driver's licence or want to avoid public transport.

Read Rome2rio's guide to Blablacar

The best way to get from Porto to Porto Airport is to subway which takes 27 min and costs 1€ - 2€.

More details