Travel Information
Compare 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 €10. For those with little time consider booking a flight which can get you there in 3h 35m. In case you are seeking to minimise your carbon footprint the bus is your best bet as it emits only 0.4 - 1.1kg. The ticket price range depends on the travel mode: a bus costs an average of €10, and a flight costs an average of €19.
Distance: 261 miles (421 km)
Compare bus with
Most popular Bus | Flight |
|---|---|
€21 Average price Cheapest | €91 Average price |
6h 2m Average total duration 5h 32m Onboard + 30m Additional time* | 6h 35m Average total duration Fastest 3h 35m Onboard + 3h 0m Additional time* |
0.4 - 1.1kg CO2 emissions Lowest | 1.3 - 2.5kg CO2 emissions |
![]() Most popular bus company | ![]() Most popular airline |
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.
NormalCheapest
NormalFastest
UX1147Other options
04505+
00422
Normal
Normal
IB543
FR 572
IB545Find 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 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.
Feb 21
Feb 22
Feb 23
Feb 24
Feb 25
Feb 26
Feb 27
Feb 28
Mar 01
Mar 02
Mar 03
Mar 04
Mar 05
Mar 06
Mar 07
Mar 08
Mar 09
Mar 10
Mar 11
Mar 12
Mar 13
How to Travel from Madrid to Porto?
There are several ways to travel to Porto from Madrid. You can use a train, bus, or plane, which all offer trips on a daily basis. The air distance between Madrid and Porto is 263 miles, and the road distance is 351 miles.
Which is the Cheapest Way to Get from Madrid to Porto?
The cheapest way to travel from Madrid to Porto is by taking a direct bus. A direct bus takes around 9 hours and 45 minutes to reach Porto, and buses are available every day. You should note that the ride usually includes ten stops, and the final stop will be at either the Porto Casa de Musica, R. De Alexandre Herculano, or Porto Campo 24 de Agosto. The main operators servicing this route are FlixBus and Eurolines.
What is the Fastest Way to Travel from Madrid to Porto?
The fastest way to travel from Madrid to Porto is by taking a flight. The air distance between these two cities is 263 miles, and the respective airports are accessible via public transportation. The departure airport will be Madrid Airport (MAD), and the plane will arrive into Porto Airport (OPO) after an hour long flight. Factoring in checkin, train trips, subway rides and changes, the entire travel time from the Madrid city center to the Porto city center will total just over four hours.
Find and Book with Omio the Best Tickets from Madrid to Porto
Omio is a booking platform which allows you to compare all modes of transport from Madrid to Porto, and therefore helps you select the best option and filter trips by departure time, trip duration and price.
Travel from Madrid to Porto by Train
You can travel by train from Madrid to Porto with the Trainline service, but there is no direct train on this route. The trains depart from Sol Station and stop at Chamartin, at which point you will need to transfer. From Chamartin, you will take a train to Vigo Guixar, and from there you will board the final train to Porto. Each of these trains is available at least once every day. With the two changes, it takes total of about 10 hours and 38 minutes to reach Porto from Madrid.
Travel from Madrid to Porto by Bus
Several bus services operate on this route, and the most popular are FlixBus and Eurolines. FlixBus tends to be the most popular operator for this route, since it usually offers the cheapest and fastest options. A bus ride from Madrid to Porto with FlixBus will take roughly 8 hours and 40 minutes. Rides offered by Eurolines can take up to 15 hours. Most of the buses stop at R. De Alexandre Herculano, Porto Campo 24 de Agosto, or Casa da Musica in Porto.
Travel from Madrid to Porto by Plane
Traveling by plane is the best option for people who prefer short travel times, as it takes just over an hour to fly from Madrid to Porto. It is also worth noting that flights on this route can be quite inexpensive, especially if you book your trip early. Some airlines servicing this route include Air Europa, Ryanair, Tap Air Portugal, and Iberia. Flights are available on a daily basis. Travelers should remember that they will need to factor in extra time for trains and subway rides to Madrid Airport (MAD) from the Madrid city center.
How to get from Madrid to Porto
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 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 $11 (€9) less than a flight for this route with tickets for a flight from Madrid to Porto costing on average $24 (€19).
Other travel options to Porto take longer:
Bus takes on average 6h 15m.
- Around 24 flights per day.
- Around 20 buses per day.
However, we recommend checking specific travel dates for your route between Madrid and Porto as scheduled services by 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 Gipsyy, Renfe ALVIA, AVE, Renfe to go to Porto by train.
- Travel with Iberia, Air Europa, easyJet, Air Nostrum , TAP Portugal, Vueling Airlines, Iberia Express, PGA-Portugalia Airlines to go to Porto by flight.
- Travel with Alsa, Ryanair, FlixBus, BlaBlaCar Bus, BlaBlaCar, Infobus to go to Porto by bus.
- 0 direct trains per day with Gipsyy.
- 9 direct flights per day with Iberia, Air Europa, easyJet, Air Nostrum , Iberia Express.
- 15 direct buses per day with Alsa, Ryanair, FlixBus, BlaBlaCar Bus, BlaBlaCar.
Travelling from Madrid to Porto: related information
Here are some other resources that might have the information you need
