Travel Information
Compare train, bus, and flight for Porto to Madrid
Omio recommends booking the bus 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 25m. 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 €194.
Distance: 421 km
Compare bus with
Most popular Bus | Flight | Train | Driving |
|---|---|---|---|
€36 Average price | €194 Average price | €17 Average price Cheapest | €113 Average price (fuel + tolls) |
10h 3m Average total duration 9h 33m Onboard + 30m Additional time* | 4h 25m Average total duration Fastest 2h 25m Onboard + 2h 0m Additional time* | 7h 0m Average total duration 6h 30m Onboard + 30m Additional time* | 5h 38m Average total duration (door-to-door) |
0.4 - 1.1kg CO2 emissions | 1.3 - 2.5kg CO2 emissions | 0.1 - 0.4kg CO2 emissions Lowest | - CO2 emissions |
![]() Most popular bus company | ![]() Most popular airline | ![]() Most popular train 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.
Compare ways to travel from Porto to Madrid
Compare the available ways to get from Porto to Madrid, with the key details around price, speed, convenience, and direct service.
This is compared to other travel options from Porto to Madrid:
A train is €19 less than a bus for this route with tickets for a bus from Porto to Madrid costing on average €36.
A train is €178 less than a flight for this route with tickets for a flight from Porto to Madrid costing on average €194.
Other travel options to Madrid take longer:
Train takes on average 7h 0m.
Bus takes on average 10h 3m.
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.
FlixBus10:10 PM 8h00 Porto, Terminal Intermodal de Campanhã 7:10 AM Madrid, Estación Sur de Autobuses €24 1 One-way 0 transfers
Cheapest
FlixBus10:10 PM 8h00 Porto, Terminal Intermodal de Campanhã 7:10 AM Madrid, Estación Sur de Autobuses €24 1 One-way 0 transfers
Fastest
UX11404:05 PM 1h10 Porto Airport 6:15 PM Madrid Barajas Airport €172 1 One-way 0 transfers
Other options
00421+
042548:10 AM 8h27 Porto - Campanhã 5:37 PM Madrid Chamartín €43 1 One-way 1 transfer
00421+
043848:10 AM 12h10 Porto - Campanhã 9:20 PM Madrid Chamartín €58 1 One-way 1 transfer
FlixBus10:10 PM 8h35 Porto, Terminal Intermodal de Campanhã 7:45 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) €28 1 One-way 0 transfers
FlixBus9:30 AM 8h45 Porto, Terminal Intermodal de Campanhã 7:15 PM Madrid, Estación Sur de Autobuses €30 1 One-way 0 transfers
9:45 AM 7h59 Porto, Terminal Intermodal de Campanhã 6:44 PM Madrid, Estación Sur de Autobuses €30 1 One-way 0 transfers
FR 5737:50 PM 1h15 Porto Airport 10:05 PM Madrid Barajas Airport €168 1 One-way 0 transfers
IB5508:40 PM 1h20 Porto Airport 11:00 PM Madrid Barajas Airport €175 1 One-way 0 transfers
UX11428:10 PM 1h10 Porto Airport 10:20 PM Madrid Barajas Airport €190 1 One-way 0 transfers
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.
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 €19 less than a bus for this route with tickets for a bus from Porto to Madrid costing on average €36.
A train is €178 less than a flight for this route with tickets for a flight from Porto to Madrid costing on average €194.
Other travel options to Madrid take longer:
Train takes on average 7h 0m.
Bus takes on average 10h 3m.
- Around 38 flights per day.
- Around 26 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 TAP Portugal, Air Europa, Iberia, Ryanair, BA Euroflyer, Royal Air Maroc, CitizenPlane, Vueling, British Airways, BA Cityflyer, Norwegian Air Shuttle, azores airlines to go to Madrid by flight.
- Travel with AVE to go to Madrid by train.
- Travel with Alsa, FlixBus, Gipsyy, Rede Expressos, Internorte, BlaBlaCar Bus to go to Madrid by bus.
- 10 direct flights per day with Air Europa, Iberia, Ryanair, CitizenPlane.
- 20 direct buses per day with Alsa, FlixBus, Gipsyy, BlaBlaCar Bus.
Travelling from Porto to Madrid: related information
Here are some other resources that might have the information you need


