- Must visit
Serralves Museum of Contemporary Art
Porto’s leading contemporary art museum, set within the Serralves Foundation grounds and known for major international exhibitions and modern architecture.
Cheapest price
$20
Average price
$53
Fastest journey
6 h 15 m
Average duration
7 h 21 m
Buses per day
21
Distance
421 km
The best way to find a cheap bus ticket from Madrid to Porto is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Madrid to Porto will cost around $53 if you buy it on the day, but the cheapest tickets can be found for only $20.
Of the 21 buses that leave Madrid for Porto on Thu, Jun 18, 19 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Thu, Jun 18 the direct buses cover the 421 km distance in an average of 7 h 21 m but if you time it right, some buses will get you there in just 6 h 15 m .
On Thu, Jun 18 the slowest buses will take 7 h 50 m and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.

FlixBus
Normal
Normal
Normal
54153
Normal
FlixBus
NormalOmio 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 $12. 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 $12, and a flight costs an average of $31.
Distance: 261 miles (421 km)
Most popular Bus | Flight | Train | Driving |
|---|---|---|---|
$32 Average price Cheapest | $156 Average price | $92 Average price | $114 Average price (fuel + tolls) |
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* | 5h 53m 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.
This is compared to other travel options from Madrid to Porto:
A bus is $60 (€49) less than a train for this route with tickets for a train from Madrid to Porto costing on average $92 (€74).
A bus is $124 (€101) less than a flight for this route with tickets for a flight from Madrid to Porto costing on average $156 (€126).
Other travel options to Porto take longer:
Train takes on average 5h 36m.
Bus takes on average 6h 1m.
Tickets start at around $32 (€26) compared to roughly $114 (€92) in fuel and tolls — a saving of about $82 (€67). The journey takes 6h 1m versus 5h 53m 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.
Direct services are operated by Alsa, Gipsyy, FlixBus, BlaBlaCar Bus, BlaBlaCar, Infobus, Rede Expressos, Gipsyy Portugal.
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.
| Operator | Departure Time | Arrival Time | Duration | Departure days | Cheapest price |
|---|---|---|---|---|---|
Operator Alsa | Departure Time 12:05AM | Arrival Time 01:30PM | Duration 14h25 | Departure days Mon, Fri, Sat, Sun | Cheapest price $38 |
Operator FlixBus | Departure Time 12:15AM | Arrival Time 07:25AM | Duration 8h10 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $31 |
Operator Alsa | Departure Time 12:30AM | Arrival Time 12:30PM | Duration 13h00 | Departure days Mon, Fri, Sat, Sun | Cheapest price $38 |
Operator FlixBus | Departure Time 12:45AM | Arrival Time 07:25AM | Duration 7h40 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $30 |
Operator Alsa | Departure Time 02:15AM | Arrival Time 05:45PM | Duration 16h30 | Departure days Sun | Cheapest price $142 |
Operator BlaBlaCar | Departure Time 06:00AM | Arrival Time 10:50AM | Duration 4h50 | Departure days Mon | Cheapest price $51 |
Operator BlaBlaCar | Departure Time 08:30AM | Arrival Time 02:10PM | Duration 5h40 | Departure days Sat | Cheapest price $59 |
Operator Alsa | Departure Time 09:15AM | Arrival Time 04:54PM | Duration 8h39 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $17 |
Operator FlixBus | Departure Time 09:25AM | Arrival Time 05:40PM | Duration 9h15 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $25 |
Operator Alsa | Departure Time 09:30AM | Arrival Time 08:20PM | Duration 11h50 | Departure days Mon, Tue | Cheapest price $52 |
Operator Internorte | Departure Time 09:30AM | Arrival Time 08:20PM | Duration 11h50 | Departure days Mon, Tue | Cheapest price $52 |
Operator Alsa | Departure Time 09:45AM | Arrival Time 10:45PM | Duration 14h00 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $38 |
Operator Gipsyy | Departure Time 10:00AM | Arrival Time 04:54PM | Duration 7h54 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $20 |
Operator Alsa | Departure Time 10:00AM | Arrival Time 04:54PM | Duration 7h54 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $17 |
Operator FlixBus | Departure Time 10:00AM | Arrival Time 05:40PM | Duration 8h40 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $20 |
Operator Alsa | Departure Time 10:30AM | Arrival Time 10:45PM | Duration 13h15 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $38 |
Operator Alsa | Departure Time 01:00PM | Arrival Time 02:30AM | Duration 14h30 | Departure days Fri, Sun | Cheapest price $61 |
Operator Internorte | Departure Time 01:00PM | Arrival Time 02:30AM | Duration 14h30 | Departure days Fri, Sun | Cheapest price $61 |
Operator Internorte | Departure Time 02:00PM | Arrival Time 02:30AM | Duration 13h30 | Departure days Fri, Sun | Cheapest price $61 |
Operator Alsa | Departure Time 02:00PM | Arrival Time 02:30AM | Duration 13h30 | Departure days Fri, Sun | Cheapest price $61 |
Operator BlaBlaCar Bus | Departure Time 02:10PM | Arrival Time 07:25PM | Duration 6h15 | Departure days Mon, Thu, Sat | Cheapest price $22 |
Operator Alsa | Departure Time 03:45PM | Arrival Time 11:14PM | Duration 8h29 | Departure days Mon, Tue, Wed, Fri, Sat, Sun | Cheapest price $17 |
Operator Alsa | Departure Time 04:15PM | Arrival Time 11:29PM | Duration 8h14 | Departure days Mon, Tue, Wed, Fri, Sat, Sun | Cheapest price $17 |
Operator BlaBlaCar | Departure Time 06:20PM | Arrival Time 10:50PM | Duration 4h30 | Departure days Fri | Cheapest price $51 |
Operator Alsa | Departure Time 11:00PM | Arrival Time 06:14AM | Duration 8h14 | Departure days Everyday | Cheapest price $20 |
Operator FlixBus | Departure Time 11:00PM | Arrival Time 06:30AM | Duration 8h30 | Departure days Everyday | Cheapest price $31 |
Operator FlixBus | Departure Time 11:30PM | Arrival Time 06:30AM | Duration 8h00 | Departure days Everyday | Cheapest price $21 |
Operator Alsa | Departure Time 11:45PM | Arrival Time 06:14AM | Duration 7h29 | Departure days Everyday | Cheapest price $20 |
Operator Gipsyy | Departure Time 11:45PM | Arrival Time 06:35AM | Duration 7h50 | Departure days Everyday | Cheapest price $25 |
The table below shows live departures for Madrid to Porto buses for today, Wednesday, June 17. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
Normal | 3:45 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 8h29 | 11:14 PM Porto, Terminal Intermodal de Campanhã | 0 transfersDirect | |
Normal | 3:45 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 8h44 | 11:29 PM Porto, Polo Universitario (Bus Terminal) | 0 transfersDirect | |
Normal | 3:45 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 9h14 | 11:59 PM Maia, Porto (Aeroporto Sa Carneiro) | 0 transfersDirect | |
Normal | 4:15 PM Madrid, Estación Sur de Autobuses | 8h14 | 11:29 PM Porto, Polo Universitario (Bus Terminal) | 0 transfersDirect | |
Normal | 4:15 PM Madrid, Estación Sur de Autobuses | 7h59 | 11:14 PM Porto, Terminal Intermodal de Campanhã | 0 transfersDirect | |
Normal | 4:15 PM Madrid, Estación Sur de Autobuses | 8h44 | 11:59 PM Maia, Porto (Aeroporto Sa Carneiro) | 0 transfersDirect | |
Normal | 11:00 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 8h14 | 6:14 AM Porto, Terminal Intermodal de Campanhã | 0 transfersDirect | |
FlixBus | 11:00 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 8h30 | 6:30 AM Porto, Terminal Intermodal de Campanhã | 0 transfersDirect | |
Normal | 11:00 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 8h35 | 6:35 AM Maia, Porto (Aeroporto Sa Carneiro) | 0 transfersDirect | |
FlixBus | 11:30 PM Madrid, Estación Sur de Autobuses | 8h00 | 6:30 AM Porto, Terminal Intermodal de Campanhã | 0 transfersDirect | |
Normal | 11:45 PM Madrid, Estación Sur de Autobuses | 7h29 | 6:14 AM Porto, Terminal Intermodal de Campanhã | 0 transfersDirect | |
Normal | 11:45 PM Madrid, Estación Sur de Autobuses | 7h50 | 6:35 AM Maia, Porto (Aeroporto Sa Carneiro) | 0 transfersDirect | |
![]() | 11:45 PM Madrid, Estación Sur de Autobuses | 7h29 | 6:14 AM Porto, Terminal Intermodal de Campanhã | 0 transfersDirect | |
![]() | 11:45 PM Madrid, Estación Sur de Autobuses | 7h50 | 6:35 AM Porto, Aeroporto Francisco Sá Carneiro | 0 transfersDirect | |
| Thursday, June 18 | |||||
FlixBus | 12:15 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 8h10 | 7:25 AM Porto, Terminal Intermodal de Campanhã | 0 transfersDirect | |
FlixBus | 12:45 AM Madrid, Estación Sur de Autobuses | 7h40 | 7:25 AM Porto, Terminal Intermodal de Campanhã | 0 transfersDirect | |
Normal | 9:15 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 8h39 | 4:54 PM Porto, Terminal Intermodal de Campanhã | 0 transfersDirect | |
Normal | 9:15 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 9h30 | 5:45 PM Maia, Porto (Aeroporto Sa Carneiro) | 0 transfersDirect | |
FlixBus | 9:25 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 9h15 | 5:40 PM Porto, Terminal Intermodal de Campanhã | 0 transfersDirect | |
Normal · Normal | 9:45 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 14h00 | 10:45 PM Porto, Terminal Intermodal de Campanhã | 1 transfer | |
![]() | 10:00 AM Madrid, Estación Sur de Autobuses | 8h45 | 5:45 PM Porto, Aeroporto Francisco Sá Carneiro | 0 transfersDirect | |
Normal | 10:00 AM Madrid, Estación Sur de Autobuses | 7h54 | 4:54 PM Porto, Terminal Intermodal de Campanhã | 0 transfersDirect | |
![]() | 10:00 AM Madrid, Estación Sur de Autobuses | 7h54 | 4:54 PM Porto, Terminal Intermodal de Campanhã | 0 transfersDirect | |
FlixBus | 10:00 AM Madrid, Estación Sur de Autobuses | 8h40 | 5:40 PM Porto, Terminal Intermodal de Campanhã | 0 transfersDirect | |
Normal | 10:00 AM Madrid, Estación Sur de Autobuses | 8h45 | 5:45 PM Maia, Porto (Aeroporto Sa Carneiro) | 0 transfersDirect | |
Normal · Normal | 10:30 AM Madrid, Estación Sur de Autobuses | 13h15 | 10:45 PM Porto, Terminal Intermodal de Campanhã | 1 transfer | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
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.
Buses from Madrid to Porto run on average 21 times per day, taking around 6h 1m. Cheap bus tickets for this journey start at $12 (€9) if you book in advance.
There are 17 buses per day. The earliest bus runs at 00:05, the last at 23:55. The fastest bus covers the 261 miles (421 km) distance in 6h 15m.
Distance 261 miles (421 km) |
Average bus duration 6h 1m |
Cheapest ticket price $12 (€9) |
Buses per day 21 |
Direct buses 17 |
Fastest bus 6h 15m |
First bus 12:05 AM |
Last bus 11:55 PM |
Cheapest Month Nov |
Cheapest Day Sat |
High Season Jul - Sep |
Low Season Jan - Mar |
Busiest Day Tue |
Least Busy Day Mon |
Best time to book 56 days |
Discover the best of Porto — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Porto trip today.
Porto’s leading contemporary art museum, set within the Serralves Foundation grounds and known for major international exhibitions and modern architecture.
Portugal’s oldest public art museum, featuring Portuguese painting, sculpture, decorative arts, and works by António Soares dos Reis.
A modern museum dedicated to FC Porto’s history, trophies, and sporting legacy, popular even with visitors who are not football fans.
Porto’s postcard riverfront quarter, filled with colorful historic buildings, terraces, and classic views across the Douro.
The city’s grand central avenue, lined with monumental architecture and serving as a key gathering point for visitors and locals.
The surrounding area near Livraria Lello and Clérigos is one of Porto’s busiest visitor zones, popular for architecture and social media photography.
Porto’s iconic sandwich layered with cured meats and steak, covered in melted cheese and a rich beer-tomato sauce, often served with fries.
A traditional Porto stew of tripe, white beans, sausage, and meats, strongly tied to the city’s culinary identity and history.
A classic codfish casserole from Porto made with salt cod, potatoes, onion, olives, and egg, created by a 19th-century Porto merchant.
An established fine-dining restaurant focused on refined traditional Portuguese cuisine, with polished service and a classic reputation.
Porto’s landmark luxury dining experience with tasting menus, major wine focus, and panoramic views over the city and Douro.
A long-standing Ribeira restaurant serving traditional Portuguese dishes such as cod and octopus in a cozy, historic setting.
Generally cheaper than many Western European cities. Food and local transport are good value, while central hotels cost more in peak season.
Tipping is optional, not mandatory. In restaurants, locals often round up or leave 5-10% for good service. Small change is fine in cafés. Round up taxi fares.
Official public transport app
Porto, Terminal Intermodal de Campanhã -> Porto-Campanhã Station
Find answers to the most common questions about traveling from Madrid to Porto by bus. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest bus, the cheapest option, or tips for making the most of your visit at Porto, this guide helps you travel smarter and with confidence.

Here are some other resources that might have the information you need