There are 7 ways to get from Madrid to Porto by plane, bus, train, night train, car or shuttle

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  •  4 h 2 min

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

$24 - $145

6 alternative options

Fly to Vigo, bus  •  6 h 10 min

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

$50 - $223

Train, bus  •  8 h 6 min

  1. Take the train from Madrid-Chamartin to Zamora A / ...
  2. Take the bus from Zamora - Estación de Autobuses to Porto - Campo 24 de Agosto - Enfrente ao Pingo Doce

$109 - $137

Bus  •  9 h 5 min

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

$35 - $60

Trenhotel, bus  •  11 h 13 min

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

$69 - $102

Drive  •  5 h 24 min

  1. Drive from Madrid to Porto 350.6 miles

$80 - $120

Shuttle  •  7 h 30 min

  1. Take a shuttle bus from Madrid to Porto Airport

$703 - $704

Questions & Answers

The cheapest way to get from Madrid to Porto is to fly which costs 20€ - 130€ and takes 4 h 2 min.

More details

The quickest way to get from Madrid to Porto is to fly which costs 20€ - 130€ and takes 4 h 2 min.

More details

Yes, there is a direct bus departing from Madrid and arriving at Porto, Porto. Services depart four times a week, and operate Wednesday, Thursday, Friday, Saturday and Sunday. The journey takes approximately 9 h 5 min.

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 8 h 6 min and costs 90€ - 120€.

More details

It takes approximately 4 h 2 min 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 4 h 2 min and costs 20€ - 130€. Alternatively, you can bus, which costs 30€ - 50€ and takes 9 h 5 min.

Mode details

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

Search flights

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

More details

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

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

TAP Portugal, Iberia and two other airlines fly from Madrid to Porto every 2 hours. Alternatively, FlixBus operates a bus from Madrid to Porto 4 times a week. Tickets cost $35 - $60 and the journey takes 9 h 5 min.

Airlines
Iberia
Website
iberia.com
Flights from Madrid to Porto
Ave. Duration
1 h 15 min
When
Every day
Estimated price
$140 - $480
Flights from Madrid to Vigo
Ave. Duration
1 h 13 min
When
Every day
Estimated price
$100 - $370
Flights from Madrid to Vigo via Bilbao
Ave. Duration
3 h 20 min
When
Monday, Tuesday, Wednesday and Thursday
Estimated price
$100 - $370
Air Europa
Website
aireuropa.com
Flights from Madrid to Porto
Ave. Duration
1 h 32 min
When
Every day
Estimated price
$80 - $360
Flights from Madrid to Vigo
Ave. Duration
1 h 10 min
When
Every day
Estimated price
$70 - $280
TAP Portugal
Website
flytap.com
Flights from Madrid to Porto
Ave. Duration
1 h 12 min
When
Every day
Estimated price
$40 - $240
Flights from Madrid to Porto via Lisbon
Ave. Duration
3 h 12 min
When
Every day
Estimated price
$40 - $240
Ryanair
Website
ryanair.com
Flights from Madrid to Porto
Ave. Duration
1 h 18 min
When
Every day
Estimated price
$23 - $190
Train operators
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 Madrid-Chamartin to Zamora
Ave. Duration
1 h 29 min
Frequency
Every 3 hours
Estimated price
$28 - $40
Website
renfe.com
Night train from Madrid Chamartín Station to Vilar Formoso
Ave. Duration
4 h 48 min
Frequency
Once daily
Estimated price
$45 - $65
Website
renfe.com
Bus operators
Autna
Phone
+34 (0) 986 288 030
Email
autna@autna.com
Website
autna.com
Bus from Vigo to Porto
Ave. Duration
1 h 20 min
Frequency
Every 4 hours
Estimated price
$13 - $20
Schedules at
autna.com
Iberocoach
Phone
(+351) 253 267 730
Website
iberocoach.com
Bus from Zamora - Estación de Autobuses to Porto - Campo 24 de Agosto - Enfrente ao Pingo Doce
Ave. Duration
4 h 27 min
Frequency
Once daily
Estimated price
$80 - $95
Website
iberocoach.com
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 Madrid to Porto, Porto
Ave. Duration
9 h 5 min
Frequency
4 times a week
Estimated price
$35 - $60
Website
flixbus.co.uk
Transportes Barquense
Phone
(+351) 258 454 303
Email
info@barquense.com
Website
barquense.com
Bus from Vilar Formoso to Porto
Ave. Duration
4 h 45 min
Frequency
On demand
Estimated price
$23 - $35
Schedules at
barquense.com
VMTransfers
Phone
(+351) 220971653
Email
info@vmtransfers.com
Website
vmtransfers.com
Shuttle from Madrid to Porto Airport
Ave. Duration
7 h
Frequency
On demand
Estimated price
$703
Schedules at
vmtransfers.com

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.