Travel Information
Compare train, bus, and flight for Madrid to Porto
Omio recommends booking the bus as it is the most popular option from Madrid to Porto among Omio's users. If you are prioritising price take the bus with prices starting from €9. For those with little time consider booking a flight which can get you there in 3h 49m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.1 - 0.4kg. The ticket price range depends on the travel mode: a bus costs an average of €9, and a flight costs an average of €25.
Distance: 421 km
Compare bus with
Most popular Bus | Flight | Train |
|---|---|---|
€26 Average price Cheapest | €126 Average price | €74 Average price |
6h 31m Average total duration 6h 1m Onboard + 30m Additional time* | 6h 49m Average total duration Fastest 3h 49m Onboard + 3h 0m Additional time* | 6h 6m Average total duration 5h 36m Onboard + 30m Additional time* |
0.4 - 1.1kg CO2 emissions | 1.3 - 2.5kg CO2 emissions | 0.1 - 0.4kg CO2 emissions Lowest |
![]() Most popular bus company | ![]() Most popular airline | ![]() Most popular train company |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Travel optionsfrom Madrid to Porto
How to get from Madrid to Porto by train, bus or flight.
Our recommendation
The best way to travel from Madrid to Porto is by taking a bus because it’s the best combination of price and speed.
11:45 PM7h29Madrid, Estación Sur de Autobuses6:14 AMPorto, Terminal Intermodal de Campanhã€121One-way0 transfers
Cheapest
11:45 PM7h29Madrid, Estación Sur de Autobuses6:14 AMPorto, Terminal Intermodal de Campanhã€121One-way0 transfers
Fastest
UX114510:35 AM1h15Madrid Barajas Airport10:50 AMPorto Airport€1231One-way0 transfers
Other options
04475+
004228:26 AM12h09Madrid Chamartín7:35 PMPorto - Campanhã€981One-way1 transfer
04515+
0042211:17 AM9h18Madrid Chamartín7:35 PMPorto - Campanhã€1181One-way1 transfer
11:45 PM7h50Madrid, Estación Sur de Autobuses6:35 AMPorto, Aeroporto Francisco Sá Carneiro€161One-way0 transfers
10:00 AM7h54Madrid, Estación Sur de Autobuses4:54 PMPorto, Terminal Intermodal de Campanhã€171One-way0 transfers
Normal11:45 PM7h29Madrid, Estación Sur de Autobuses6:14 AMPorto, Terminal Intermodal de Campanhã€201One-way0 transfers
FR 548210:40 PM1h20Madrid Barajas Airport11:00 PMPorto Airport€1131One-way0 transfers
UX11476:35 AM1h15Madrid Barajas Airport6:50 AMPorto Airport€1461One-way0 transfers
TP1017 · TP19386:00 PM7h40Madrid Barajas Airport12:40 AMPorto Airport€2461One-way1 transfer
Find all the dates and times for this journey by train, bus, flight, and ferry .
Compare prices and tickets Prices for trains, buses and flights
Compare train, bus, and flight prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
May 22
May 23
May 24
May 25
May 26
May 27
May 28
May 29
May 30
May 31
Jun 01
Jun 02
Jun 03
Jun 04
Jun 05
Jun 06
Jun 07
Jun 08
Jun 09
Jun 10
Jun 11
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Madrid to Porto
Travel to Porto easily. Whether you want fast, cheap or something entirely different, our travel experts have collected everything you need to know so you can find the best option from Madrid to Porto.

This is compared to other travel options from Madrid to Porto:
A bus is €49 less than a train for this route with tickets for a train from Madrid to Porto costing on average €74.
A bus is €101 less than a flight for this route with tickets for a flight from Madrid to Porto costing on average €126.
Other travel options to Porto take longer:
Train takes on average 5h 36m.
Bus takes on average 6h 1m.
- Around 28 flights per day.
- Around 21 buses per day.
- Around 1 trains per day.
However, we recommend checking specific travel dates for your route between Madrid and Porto as scheduled services by train, bus, and flight can vary by season or day of the week.
- Flights mostly depart from Madrid Barajas Airport and arrive in Porto Airport.
- Buses mostly depart from Madrid, Estación Sur de Autobuses and arrive in Porto, Terminal Intermodal de Campanhã.
- Travel with Alsa, Gipsyy, FlixBus, BlaBlaCar Bus, BlaBlaCar, Internorte, Infobus, Rede Expressos, Gipsyy Portugal to go to Porto by bus.
- Travel with AVE, Renfe ALVIA, Renfe, Renfe Viajeros to go to Porto by train.
- Travel with Ryanair, Air Europa, Iberia, easyJet, Air Nostrum, TAP Portugal, Vueling, Iberia Express, PGA-Portugalia Airlines to go to Porto by flight.
- 17 direct buses per day with Alsa, Gipsyy, FlixBus, BlaBlaCar Bus, BlaBlaCar, Infobus, Rede Expressos, Gipsyy Portugal.
- 10 direct flights per day with Ryanair, Air Europa, Iberia, easyJet, Air Nostrum, Iberia Express.
Travelling from Madrid to Porto: related information
Here are some other resources that might have the information you need
