Travel Information
Compare train, bus, and flight for Porto to Madrid
Omio recommends booking the flight as it is the most popular option from Porto to Madrid among Omio's users. If you are prioritising price, take the train, with an average ticket price of €17 For those with little time, consider booking a flight, which has an average total journey time of 4h 27m. If you are seeking to minimise your carbon footprint, the train is your best option, with estimated CO2 emissions of 0.1 - 0.4kg. Average ticket prices depend on the travel mode: a train costs an average of €17, while a flight costs an average of €199.
Distance: 421 km
Compare flight with
Most popular Flight | Train | Bus | Driving |
|---|---|---|---|
€199 Average price | €17 Average price Cheapest | €35 Average price | €113 Average price (fuel + tolls) |
4h 27m Average total duration Fastest 2h 27m Onboard + 2h 0m Additional time* | 6h 58m Average total duration 6h 28m Onboard + 30m Additional time* | 9h 58m Average total duration 9h 28m Onboard + 30m Additional time* | 5h 38m Average total duration (door-to-door) |
1.3 - 2.5kg CO2 emissions | 0.1 - 0.4kg CO2 emissions Lowest | 0.4 - 1.1kg CO2 emissions | - CO2 emissions |
![]() Most popular airline | ![]() Most popular train company | ![]() Most popular bus company | Your own car or car rental |
Direct Options | Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
This is compared to other travel options from Porto to Madrid:
A train is €18 less than a bus for this route with tickets for a bus from Porto to Madrid costing on average €35.
A train is €182 less than a flight for this route with tickets for a flight from Porto to Madrid costing on average €199.
Other travel options to Madrid take longer:
Train takes on average 6h 58m.
Bus takes on average 9h 58m.
Travel optionsfrom Porto to Madrid
How to get from Porto to Madrid by train, bus or flight.
Our recommendation
The best way to travel from Porto to Madrid is by taking a bus because it’s the best combination of price and speed.
9:45 AM7h59Porto, Terminal Intermodal de Campanhã6:44 PMMadrid, Estación Sur de Autobuses€271One-way0 transfers
Cheapest
9:45 AM7h59Porto, Terminal Intermodal de Campanhã6:44 PMMadrid, Estación Sur de Autobuses€271One-way0 transfers
Fastest
UX11428:10 PM1h10Porto Airport10:20 PMMadrid Barajas Airport€2201One-way0 transfers
Other options
FlixBus9:30 AM8h45Porto, Terminal Intermodal de Campanhã7:15 PMMadrid, Estación Sur de Autobuses€271One-way0 transfers
Normal9:45 AM7h55Porto, Terminal Intermodal de Campanhã6:40 PMMadrid, Estación Sur de Autobuses€281One-way0 transfers
Normal12:45 PM7h59Porto, Terminal Intermodal de Campanhã9:44 PMMadrid, Estación Sur de Autobuses€281One-way0 transfers
FR 54838:15 PM1h15Porto Airport10:30 PMMadrid Barajas Airport€1441One-way0 transfers
UX11404:05 PM1h10Porto Airport6:15 PMMadrid Barajas Airport€2501One-way0 transfers
TP1935 · TP101010:30 PM10h35Porto Airport10:05 AMMadrid Barajas Airport€2611One-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.
Sep 27
Sep 28
Sep 29
Sep 30
Oct 01
Oct 02
Oct 03
Oct 04
Oct 05
Oct 06
Oct 07
Oct 08
Oct 09
Oct 10
Oct 11
Oct 12
Oct 13
Oct 14
Oct 15
Oct 16
Oct 17
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Porto to Madrid
Travel to Madrid 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 Porto to Madrid.

This is compared to other travel options from Porto to Madrid:
A train is €18 less than a bus for this route with tickets for a bus from Porto to Madrid costing on average €35.
A train is €182 less than a flight for this route with tickets for a flight from Porto to Madrid costing on average €199.
Other travel options to Madrid take longer:
Train takes on average 6h 58m.
Bus takes on average 9h 58m.
- Around 37 flights per day.
- Around 25 buses per day.
- Around 2 trains per day.
However, we recommend checking specific travel dates for your route between Porto and Madrid as scheduled services by train, bus, and flight can vary by season or day of the week.
- Flights mostly depart from Porto Airport and arrive in Madrid Barajas Airport.
- Trains mostly depart from Porto - Campanhã and arrive in Madrid Chamartín.
- Buses mostly depart from Porto, Terminal Intermodal de Campanhã and arrive in Madrid, Estación Sur de Autobuses.
- Travel with AVE to go to Madrid by train.
- Travel with Rede Expressos, Internorte, FlixBus, Alsa, BlaBlaCar Bus, Gipsyy to go to Madrid by bus.
- Travel with azores airlines, BA Euroflyer, CitizenPlane, Air Europa, BA Cityflyer, Norwegian Air Shuttle, Vueling, Royal Air Maroc, British Airways, TAP Portugal, Ryanair, Iberia to go to Madrid by flight.
- 19 direct buses per day with FlixBus, Alsa, BlaBlaCar Bus, Gipsyy.
- 10 direct flights per day with CitizenPlane, Air Europa, Ryanair, Iberia.
Travelling from Porto to Madrid: related information
Here are some other resources that might have the information you need

