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

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

$24 - $145

6 alternative options

Fly to Vigo, bus  •  5 h 49 min

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

$50 - $223

Taxi  •  7 h 57 min

  1. Take the taxi from Madrid to Porto Airport 357.9 miles

$698 - $699

Train  •  10 h 19 min

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

$85 - $119

Bus  •  10 h 56 min

  1. Take the bus from Madrid to Salamanca Auto Res Express / ...
  2. Take the bus from Salamanca to Vila Nova De Gaia Ouibus

$37 - $55

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

$68 - $102

Drive  •  5 h 24 min

  1. Drive from Madrid to Porto 350.6 miles

$80 - $120

Questions & Answers

The cheapest way to get from Madrid to Porto is to bus which costs 30€ - 50€ and takes 10 h 56 min.

More details

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

More details

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

Get driving directions

It takes approximately 4 h 2 min to get from Madrid to Porto, including transfers.

More details

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

More details

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

Iberia, TAP Portugal and two other airlines fly from Madrid to Porto every 2 hours. Alternatively, you can take a train from Madrid to Porto via Madrid Chamartín, Madrid-Chamartin, and Vigo-Guixar in around 10 h 19 min.

Airlines
Iberia
Website
iberia.com
Flights from Madrid to Porto
Ave. Duration
1 h 10 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
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)
Phone
902 320 320
Website
renfe.com
Train from Madrid-Chamartin to Vigo-Guixar
Ave. Duration
5 h 49 min
Frequency
Once daily
Estimated price
$70 - $90
Website
renfe.com
Train from Vigo-Guixar to Porto(Campanha)
Ave. Duration
2 h 20 min
Frequency
3 times a day
Estimated price
$14 - $27
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
Avanza Grupo
Phone
+34 (0) 91 272 28 32
Email
informacion@avanzabus.com
Website
avanzabus.com
Bus from Madrid to Salamanca
Ave. Duration
2 h 45 min
Frequency
Hourly
Estimated price
$18 - $27
Schedules at
avanzabus.com
Auto Res Express
$27
Auto Res Normal
$20
Ouibus
Phone
0890715298
Website
ouibus.com
Bus from Salamanca to Vila Nova De Gaia
Ave. Duration
6 h 25 min
Frequency
Hourly
Estimated price
$14 - $20
Website
Ouibus
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
$22 - $35
Schedules at
barquense.com
Other operators
VMTransfers
Phone
(+351) 220971653
Email
info@vmtransfers.com
Website
vmtransfers.com
Taxi from Madrid to Porto Airport
Ave. Duration
7 h
Frequency
On demand
Estimated price
$694
Schedules at
vmtransfers.com

Want to know more about travelling around the world?

Rome2rio's Travel Guide series provide vital information for the global traveller. Read our range of informative guides on popular transport routes and companies - including How to get from JFK to New York City, Travelling around the UAE and How to get from London to Edinburgh - to help you get the most out of your next trip.