There are 8 ways to get from Porto to Madrid by plane, train, bus, night train, rideshare 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 from Porto  •  4 h 21 min

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

$24 - $145

7 alternative options

Train to Vigo, fly  •  6 h 7 min

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

$52 - $229

Bus ALSA  •  8 h 25 min

  1. Take the bus from Oporto to Madrid

$37 - $77

Bus FlixBus  •  9 h 10 min

  1. Take the bus from Porto, Porto to Madrid 745

$30 - $60

Train  •  10 h 3 min

  1. Take the train from Vila Nova de Gaia to Coimbra-B
  2. Take the train from Coimbra-B to Salamanca Hot
  3. Take the train from Salamanca to Madrid-Chamartin Ir / ...

$66 - $109

Bus, Trenhotel  •  10 h 56 min

  1. Take the bus from Porto to Vilar Formoso Centro
  2. Take the Trenhotel from Vilar Formoso to Madrid Chamartín Station Lusitania / ...

$69 - $99

Rideshare  •  7 h 38 min

  1. Take the rideshare from Porto to Madrid 351.1 miles

$34

Drive  •  5 h 26 min

  1. Drive from Porto to Madrid 350.8 miles

$80 - $120

Questions & Answers

Yes, there is a direct bus departing from Porto, Porto and arriving at Madrid. Services depart once daily, and operate Monday, Friday, Saturday and Sunday. The journey takes approximately 9 h 10 min.

More details

No, there is no direct train from Porto to Madrid. However, there are services departing from Vila Nova de Gaia and arriving at Madrid Sol via Coimbra-B, Salamanca and Madrid Chamartín. The journey, including transfers, takes approximately 10 h 3 min.

More details

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

Get driving directions

The best way to get from Porto to Madrid without a car is to bus which takes 8 h 25 min and costs .

More details

It takes approximately 4 h 21 min 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 Portuguese Railways (CP), depart from Vila Nova de Gaia station.

More details

The best way to get from Porto to Madrid is to fly which takes 4 h 21 min and costs . Alternatively, you can bus, which costs and takes 8 h 25 min, you could also train, which costs and takes 10 h 3 min.

Mode details

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

Search flights

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

More details

Map of how to get from Porto to Madrid.
Launch map view
  • Distance: 263.2 miles
  • Duration: 4 h 21 min

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

Air Europa, Iberia and two other airlines fly from Porto to Madrid hourly. Alternatively, ALSA operates a bus from Porto to Madrid twice daily. Tickets cost $35 - $60 and the journey takes 7 h 15 min. InterNorte also services this route 3 times a day.

Airlines
Iberia
Website
iberia.com
Flights from Porto to Madrid
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$140 - $480
Flights from Vigo to Madrid
Ave. Duration
1 h 15 min
When
Every day
Estimated price
$100 - $370
Air Europa
Website
aireuropa.com
Flights from Porto to Madrid
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$80 - $360
Flights from Vigo to Madrid
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$70 - $280
TAP Portugal
Website
flytap.com
Flights from Porto to Madrid
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$40 - $240
Flights from Porto to Madrid via Lisbon
Ave. Duration
3 h 10 min
When
Every day
Estimated price
$40 - $240
Ryanair
Website
ryanair.com
Flights from Porto to Madrid
Ave. Duration
1 h 15 min
When
Every day
Estimated price
$23 - $190
Train operators
Portuguese Railways (CP)

Comboios de Portugal (CP) is the national railway network of Portugal, and spans over 2700km, with trains being split into four main types: regional and intercity trains, international and domestic high-speed trains, and international night trains. Portugal's main stations are Santa Apolónia in Lisbon and Campanha in Porto - these train stations connect to trains in Portugal's main cities and international destinations. The Alfa Pendular, the fastest train in Portugal, is a popular travel choice, as it can run at a speed of up to 250 km/h.

Contact Details
Phone
+351 707 210 220
Website
cp.pt
Train from Porto(Campanha) to Vigo-Guixar
Ave. Duration
2 h 15 min
Frequency
5 times a day
Estimated price
$14 - $27
Website
cp.pt
Train from Vila Nova de Gaia to Coimbra-B
Ave. Duration
53 min
Frequency
Hourly
Estimated price
$9 - $17
Website
cp.pt
2nd Class
$9 - $13
1st Class
$11 - $17
Train from Coimbra-B to Salamanca
Ave. Duration
4 h 21 min
Frequency
Once daily
Estimated price
$29 - $50
Website
cp.pt
Night train from Vilar Formoso to Madrid-Chamartin
Ave. Duration
5 h 5 min
Frequency
Once daily
Estimated price
$45 - $65
Website
cp.pt
Spanish Railways (RENFE)

Based in Madrid, Renfe is a state-owned train operator, that connects cities across Spain and neighbouring countries including Portugal, France, Germany, Switzerland, and the Netherlands. Renfe’s extensive network means most destinations offer multiple trains a day, with the most popular routes normally offering a train each hour. Locally known as AVE, the high-speed trains can reach speeds of up to 350km/h, making travel between major cities very efficient. Comfort is key in a Renfe train, with seats with footrests in all three classes of travel: Standard, Club and First. Each seat has an individual light, a pull-down table and an electrical outlet for in Club and First classes. There is free WiFi for first class passengers and for those with a + Renfe card.

Rome2rio's guide to Spanish Railways (RENFE)
Contact Details
Phone
902 320 320
Website
renfe.com
Train from Salamanca to Madrid-Chamartin
Ave. Duration
2 h 40 min
Frequency
Hourly
Estimated price
$27 - $40
Website
renfe.com
Night train from Vilar Formoso to Madrid Chamartín Station
Ave. Duration
4 h 49 min
Frequency
Once daily
Estimated price
$45 - $65
Website
renfe.com
Bus operators
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 so you’re never bored on your journey. ALSA services are accessible to people with disabilities, and guide dogs are welcome on all journeys. Flexibility is another highlight of an ALSA journey, with 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
7 h 15 min
Frequency
Twice daily
Estimated price
$35 - $60
Website
alsa.com
InterNorte
Phone
707 200 512
Website
internorte.pt
Bus from Porto - Casa da Música to Madrid Avenida de América
Ave. Duration
10 h 5 min
Frequency
3 times a day
Estimated price
$50 - $75
Schedules at
internorte.pt
FlixBus

One of Europe’s leading bus companies, Flixbus serves over 1400 destinations, in 26 countries including Germany, France, Italy, Austria, the Netherlands, Croatia, Spain, and across Scandinavia and central and eastern Europe. Founded in 2012, Flixbus’ extensive network connects cities with approximately 200,000 trips, with buses often departing every 30 minutes. One of the most affordable ways to get around Europe (and expanding soon into the US), a Flixbus journey is cost-effective, well-connected, comfortable and safe.

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 Madrid
Ave. Duration
9 h 10 min
Frequency
Once daily
Estimated price
$30 - $60
Website
flixbus.co.uk
Transportes Barquense
Phone
(+351) 258 454 303
Email
info@barquense.com
Website
barquense.com
Bus from Porto to Vilar Formoso
Ave. Duration
4 h 45 min
Frequency
On demand
Estimated price
$22 - $35
Schedules at
barquense.com
Other operators
BlaBlaCar

A ridesharing platform with 40 million users, Blablacar gives you access to destinations without worrying about on-the-road chaos. 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 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
7 h 38 min
Frequency
Once daily
Estimated price
$34
Book at
blablacar.co.uk

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

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

Porto to Madrid train services, operated by Spanish Railways (RENFE), arrive at Madrid-Chamartin station.

More details

Yes, the driving distance between Porto to Madrid is 561 km. It takes approximately 5 h 26 min 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 FlixBus.

Search and book

There are 3655+ hotels available in Madrid. Prices start at $53 USD 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 Metro which takes 29 min and costs .

More details