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 Rp 335,033 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 Rp 335,033, while a flight costs an average of Rp 3,909,188.
Distance: 261 miles (421 km)
Compare bus with
Most popular Bus | Flight | Train | Driving |
|---|---|---|---|
Rp 716,890 Average price | Rp 3,909,188 Average price | Rp 335,033 Average price Cheapest | Rp 2,273,178 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 Rp 381,857 less than a bus for this route with tickets for a bus from Porto to Madrid costing on average Rp 716,890.
A train is Rp 3,574,155 less than a flight for this route with tickets for a flight from Porto to Madrid costing on average Rp 3,909,188.
Other travel options to Madrid take longer:
Train takes on average 7h 0m.
Bus takes on average 10h 3m.
Tickets start at around Rp 716,890 compared to roughly Rp 2,273,178 in fuel and tolls — a saving of about Rp 1,556,288. The journey takes 9h 33m versus 5h 38m by car, so you'll arrive a bit later, but you can use the time productively rather than spending it behind the wheel. No parking to sort, no fuel stops, and most coaches have Wi-Fi and power outlets.
Driving is worth considering if you're on a tight schedule, travelling as a group (where fuel costs split several ways), or want the flexibility to stop along the way.
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 AM 7h59 Porto, Terminal Intermodal de Campanhã 6:44 PM Madrid, Estación Sur de Autobuses Rp 261,972 1 One-way 0 transfers
Cheapest

9:45 AM 7h59 Porto, Terminal Intermodal de Campanhã 6:44 PM Madrid, Estación Sur de Autobuses Rp 261,972 1 One-way 0 transfers
Fastest
UX11404:05 PM 1h10 Porto Airport 6:15 PM Madrid Barajas Airport Rp 3,469,407 1 One-way 0 transfers
Other options
00421+
042548:10 AM 8h27 Porto - Campanhã 5:37 PM Madrid Chamartín Rp 1,775,069 1 One-way 1 transfer
00421+
043848:10 AM 12h10 Porto - Campanhã 9:20 PM Madrid Chamartín Rp 1,775,069 1 One-way 1 transfer

9:45 AM 8h30 Porto, Terminal Intermodal de Campanhã 7:15 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) Rp 261,972 1 One-way 0 transfers
Normal9:45 AM 7h55 Porto, Terminal Intermodal de Campanhã 6:40 PM Madrid, Estación Sur de Autobuses Rp 302,741 1 One-way 0 transfers
Normal12:45 PM 7h59 Porto, Terminal Intermodal de Campanhã 9:44 PM Madrid, Estación Sur de Autobuses Rp 302,741 1 One-way 0 transfers
TP1931 · TP10224:00 PM 6h30 Porto Airport 11:30 PM Madrid Barajas Airport Rp 1,656,193 1 One-way 1 transfer
TP1929 · TP10222:30 PM 8h00 Porto Airport 11:30 PM Madrid Barajas Airport Rp 1,656,193 1 One-way 1 transfer
TP1927 · TP102212:00 PM 10h30 Porto Airport 11:30 PM Madrid Barajas Airport Rp 1,656,193 1 One-way 1 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.
How to Travel from Porto to Madrid?
If you wish to travel from Porto to Madrid, you will want to know the various modes of transportation to choose from. The two ways to travel from Porto to Madrid are by bus and by plane, both providing a convenient route to reach your destination. There are about 13 buses that leave every day, and the trip takes about 10 hours and 47 minutes on average. There are about 40 daily flights from Porto to Madrid, with an average flight time of 3 hours and 20 minutes.
What is the Cheapest Way To Get from Porto to Madrid?
The cheapest way to travel from Porto to Madrid, if booked at least a few weeks before the departure date, is by plane. On the other hand, the bus will be the cheapest mode of transportation if tickets are booked close to the travel date. It is also important to consider the date of the departure. During the weekk the flights tend to be more affordable from Monday to Thursday and a bit more expensive from Friday to Sunday. The bus prices tend to fluctuate around the same price regardless of date.
What is the Fastest Way to Travel from Porto to Madrid?
The fastest mode of transportation from Porto to Madrid is by plane. The plane ride averages around 3 hours and 20 minutes, with the fastest direct journey taking just 1 hour and 15 minutes. Meanwhile, the fastest journey time by bus is around 9 hours. Flights usually depart from the Porto Airport (OPO) and arrive at the Madrid Barajas Airport (MAD). All the airports are located a short drive from the city centers.
Find and Book with Omio the Best Tickets from Porto to Madrid
The services provided by the Omio app and website enable travelers to search, filter and book tickets for all of the methods of transportation that are available between Porto to Madrid.
Travel from Porto to Madrid by Bus
Traveling to Madrid from Porto by bus perfect if you wish to enjoy the scenery or bring bulkier and heavier luggage with you. The average travel time with the bus is usually 10 hours and 47 minutes, with the fastest journey time taking only 8 hours and 30 minutes. The distance between Madrid and Porto is around 262 miles. There are usually 13 buses that leave daily from either Campo 24 de Agosto or Interface Casa de Musica in Porto, and arrive into the Estacion Sur, Barajas Airport T4 or Av. America stations in Madrid. These routes are all catered by Eurolines, Rede Expressos, Alsa, Citi Express, and FlixBus.
Travel from Porto to Madrid by Plane
The fastest - and usually the most affordable - method of transportation from Porto to Madrid is by plane. You will be able to find at least 40 flights for this route each day, 10 of which will be direct. Although the average journey time is 3 hours and 20 minutes, the fastest direct routes will take only 1 hour and 15 minutes. Flights only leave from the Porto Airport (OPO) and arrive directly at the Madrid Barajas Airport (MAD), both of which are easily connected to the city center with public transport. The flights are operated by RyanAir, Air Europa, Iberia, TAP Air Portugal, Air France, KLM and Turkish Airlines.
How to get from Porto to Madrid
The Best Way According to our Users
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 Rp 381,857 less than a bus for this route with tickets for a bus from Porto to Madrid costing on average Rp 716,890.
A train is Rp 3,574,155 less than a flight for this route with tickets for a flight from Porto to Madrid costing on average Rp 3,909,188.
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 AVE to go to Madrid by train.
- 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 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
