- Must visit
Museo del Prado
World-class art museum with masterpieces by Velázquez, Goya, and Bosch; essential for Spanish and European painting.
Cheapest price
$26
Average price
$40
Fastest journey
7 h 29 m
Average duration
7 h 40 m
Buses per day
31
Distance
421 km
The best way to find a cheap bus ticket from Porto to Madrid is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Porto to Madrid will cost around $40 if you buy it on the day, but the cheapest tickets can be found for only $26.
Of the 31 buses that leave Porto for Madrid on Thu, Jul 16, 24 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Thu, Jul 16 the direct buses cover the 421 km distance in an average of 7 h 40 m but if you time it right, some buses will get you there in just 7 h 29 m .
On Thu, Jul 16 the slowest buses will take 7 h 59 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
FlixBus
Normal
NormalOmio 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 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 $25.
Distance: 261 miles (421 km)
Most popular Bus | Flight | Train | Driving |
|---|---|---|---|
$30 Average price Cheapest | $153 Average price | $91 Average price | $136 Average price (fuel + tolls) |
6h 36m Average total duration 6h 6m Onboard + 30m Additional time* | 6h 49m Average total duration Fastest 3h 49m Onboard + 3h 0m Additional time* | 5h 53m Average total duration 5h 23m 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.
This is compared to other travel options from Porto to Madrid:
A bus is $61 (€50) less than a train for this route with tickets for a train from Porto to Madrid costing on average $91 (€74).
A bus is $123 (€101) less than a flight for this route with tickets for a flight from Porto to Madrid costing on average $153 (€125).
Other travel options to Madrid take longer:
Train takes on average 5h 23m.
Bus takes on average 6h 6m.
Tickets start at around $30 (€24) compared to roughly $136 (€111) in fuel and tolls — a saving of about $106 (€87). The journey takes 6h 6m 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.
Direct services are operated by Alsa, FlixBus, BlaBlaCar Bus, Rede Expressos, BlaBlaCar.
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 BlaBlaCar Bus | Departure Time 12:50AM | Arrival Time 08:30AM | Duration 6h40 | Departure days Fri, Sun | Cheapest price $30 |
Operator BlaBlaCar | Departure Time 04:00AM | Arrival Time 11:10AM | Duration 7h10 | Departure days Thu | Cheapest price $36 |
Operator Internorte | Departure Time 09:00AM | Arrival Time 12:35AM | Duration 14h35 | Departure days Fri, Sat | Cheapest price $79 |
Operator Alsa | Departure Time 09:00AM | Arrival Time 07:15PM | Duration 9h15 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $30 |
Operator Internorte | Departure Time 09:15AM | Arrival Time 11:00PM | Duration 12h45 | Departure days Fri, Sat | Cheapest price $71 |
Operator FlixBus | Departure Time 09:30AM | Arrival Time 07:15PM | Duration 8h45 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $23 |
Operator Alsa | Departure Time 09:45AM | Arrival Time 06:40PM | Duration 7h55 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $30 |
Operator Gipsyy | Departure Time 09:45AM | Arrival Time 06:44PM | Duration 7h59 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $15 |
Operator Rede Expressos | Departure Time 11:00AM | Arrival Time 11:30PM | Duration 11h30 | Departure days Mon, Tue, Sat, Sun | Cheapest price $49 |
Operator FlixBus | Departure Time 11:30AM | Arrival Time 11:55PM | Duration 11h25 | Departure days Sat, Sun | Cheapest price $59 |
Operator Alsa | Departure Time 12:00PM | Arrival Time 10:15PM | Duration 9h15 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $30 |
Operator BlaBlaCar | Departure Time 12:00PM | Arrival Time 08:40PM | Duration 8h40 | Departure days Tue | Cheapest price $50 |
Operator Alsa | Departure Time 12:30PM | Arrival Time 10:15PM | Duration 8h45 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $30 |
Operator Alsa | Departure Time 12:45PM | Arrival Time 10:15PM | Duration 8h30 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $30 |
Operator BlaBlaCar | Departure Time 02:00PM | Arrival Time 08:30PM | Duration 6h30 | Departure days Fri, Sun | Cheapest price $42 |
Operator Alsa | Departure Time 02:00PM | Arrival Time 11:44PM | Duration 8h44 | Departure days Sun | Cheapest price $72 |
Operator Alsa | Departure Time 02:30PM | Arrival Time 12:15AM | Duration 8h45 | Departure days Sun | Cheapest price $72 |
Operator BlaBlaCar | Departure Time 03:00PM | Arrival Time 09:30PM | Duration 6h30 | Departure days Sun | Cheapest price $47 |
Operator Alsa | Departure Time 03:00PM | Arrival Time 07:30AM | Duration 15h30 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $55 |
Operator Alsa | Departure Time 04:15PM | Arrival Time 06:00AM | Duration 12h45 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $55 |
Operator Rede Expressos | Departure Time 05:00PM | Arrival Time 05:44AM | Duration 11h44 | Departure days Mon, Tue, Sat, Sun | Cheapest price $49 |
Operator Rede Expressos | Departure Time 07:15PM | Arrival Time 09:29AM | Duration 13h14 | Departure days Sat | Cheapest price $86 |
Operator BlaBlaCar | Departure Time 07:40PM | Arrival Time 02:00AM | Duration 6h20 | Departure days Mon | Cheapest price $22 |
Operator Alsa | Departure Time 09:15PM | Arrival Time 06:29AM | Duration 8h14 | Departure days Everyday | Cheapest price $37 |
Operator Gipsyy | Departure Time 10:00PM | Arrival Time 07:00AM | Duration 8h00 | Departure days Everyday | Cheapest price $29 |
Operator Alsa | Departure Time 10:00PM | Arrival Time 07:00AM | Duration 8h00 | Departure days Everyday | Cheapest price $37 |
Operator FlixBus | Departure Time 10:10PM | Arrival Time 07:45AM | Duration 8h35 | Departure days Everyday | Cheapest price $30 |
Operator Alsa | Departure Time 10:15PM | Arrival Time 08:30AM | Duration 9h15 | Departure days Sun | Cheapest price $72 |
Operator Alsa | Departure Time 10:45PM | Arrival Time 07:59AM | Duration 8h14 | Departure days Sun | Cheapest price $72 |
Operator Alsa | Departure Time 11:00PM | Arrival Time 08:30AM | Duration 8h30 | Departure days Sun | Cheapest price $72 |
Operator Alsa | Departure Time 11:30PM | Arrival Time 08:59AM | Duration 8h29 | Departure days Wed | Cheapest price $29 |
Operator FlixBus | Departure Time 11:35PM | Arrival Time 08:40AM | Duration 8h05 | Departure days Everyday | Cheapest price $38 |
The table below shows live departures for Porto to Madrid buses for today, Wednesday, July 15. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
Normal | 9:15 PM Maia, Porto (Aeroporto Sa Carneiro) | 8h14 | 6:29 AM Madrid, Estación Sur de Autobuses | 0 transfersDirect | |
Normal | 9:15 PM Maia, Porto (Aeroporto Sa Carneiro) | 8h45 | 7:00 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 0 transfersDirect | |
![]() | 10:00 PM Porto, Terminal Intermodal de Campanhã | 7h29 | 6:29 AM Madrid, Estación Sur de Autobuses | 0 transfersDirect | |
Normal | 10:00 PM Porto, Terminal Intermodal de Campanhã | 8h00 | 7:00 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 0 transfersDirect | |
Normal | 10:00 PM Porto, Terminal Intermodal de Campanhã | 7h29 | 6:29 AM Madrid, Estación Sur de Autobuses | 0 transfersDirect | |
![]() | 10:00 PM Porto, Terminal Intermodal de Campanhã | 8h00 | 7:00 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 0 transfersDirect | |
FlixBus | 10:10 PM Porto, Terminal Intermodal de Campanhã | 8h35 | 7:45 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 0 transfersDirect | |
FlixBus | 10:10 PM Porto, Terminal Intermodal de Campanhã | 8h00 | 7:10 AM Madrid, Estación Sur de Autobuses | 0 transfersDirect | |
Normal | 11:30 PM Maia, Porto (Aeroporto Sa Carneiro) | 8h29 | 8:59 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 0 transfersDirect | |
Normal | 11:30 PM Maia, Porto (Aeroporto Sa Carneiro) | 7h59 | 8:29 AM Madrid, Estación Sur de Autobuses | 0 transfersDirect | |
FlixBus | 11:35 PM Porto, Terminal Intermodal de Campanhã | 8h05 | 8:40 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 0 transfersDirect | |
FlixBus | 11:35 PM Porto, Terminal Intermodal de Campanhã | 7h30 | 8:05 AM Madrid, Estación Sur de Autobuses | 0 transfersDirect | |
| Thursday, July 16 | |||||
Normal | 9:00 AM Maia, Porto (Aeroporto Sa Carneiro) | 9h15 | 7:15 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 0 transfersDirect | |
Normal | 9:00 AM Maia, Porto (Aeroporto Sa Carneiro) | 8h40 | 6:40 PM Madrid, Estación Sur de Autobuses | 0 transfersDirect | |
FlixBus | 9:30 AM Porto, Terminal Intermodal de Campanhã | 8h45 | 7:15 PM Madrid, Estación Sur de Autobuses | 0 transfersDirect | |
FlixBus | 9:30 AM Porto, Terminal Intermodal de Campanhã | 9h15 | 7:45 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 0 transfersDirect | |
Normal | 9:45 AM Porto, Terminal Intermodal de Campanhã | 7h55 | 6:40 PM Madrid, Estación Sur de Autobuses | 0 transfersDirect | |
Normal | 9:45 AM Porto, Terminal Intermodal de Campanhã | 8h30 | 7:15 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 0 transfersDirect | |
![]() | 9:45 AM Porto, Terminal Intermodal de Campanhã | 7h59 | 6:44 PM Madrid, Estación Sur de Autobuses | 0 transfersDirect | |
![]() | 9:45 AM Porto, Terminal Intermodal de Campanhã | 8h30 | 7:15 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 0 transfersDirect | |
Normal | 12:00 PM Maia, Porto (Aeroporto Sa Carneiro) | 9h15 | 10:15 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 0 transfersDirect | |
Normal | 12:00 PM Maia, Porto (Aeroporto Sa Carneiro) | 8h44 | 9:44 PM Madrid, Estación Sur de Autobuses | 0 transfersDirect | |
Normal | 12:30 PM Porto, Polo Universitario (Bus Terminal) | 8h45 | 10:15 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 0 transfersDirect | |
Normal | 12:30 PM Porto, Polo Universitario (Bus Terminal) | 8h14 | 9:44 PM Madrid, Estación Sur de Autobuses | 0 transfersDirect | |
Normal | 12:45 PM Porto, Terminal Intermodal de Campanhã | 8h30 | 10:15 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 0 transfersDirect | |
Normal | 12:45 PM Porto, Terminal Intermodal de Campanhã | 7h59 | 9:44 PM Madrid, Estación Sur de Autobuses | 0 transfersDirect | |
Normal · Normal | 3:00 PM Maia, Porto (Aeroporto Sa Carneiro) | 15h30 | 7:30 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 1 transfer | |
Normal · Normal | 3:00 PM Maia, Porto (Aeroporto Sa Carneiro) | 14h15 | 6:15 AM Madrid, Estación Sur de Autobuses | 1 transfer | |
Normal · Normal | 3:00 PM Maia, Porto (Aeroporto Sa Carneiro) | 14h59 | 6:59 AM Madrid, Estación Sur de Autobuses | 1 transfer | |
Normal · Normal | 3:00 PM Maia, Porto (Aeroporto Sa Carneiro) | 14h20 | 6:20 AM Madrid, Estación Sur de Autobuses | 1 transfer | |
Normal · Normal | 3:00 PM Maia, Porto (Aeroporto Sa Carneiro) | 14h00 | 6:00 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 1 transfer | |
Normal · Normal | 4:15 PM Porto, Terminal Intermodal de Campanhã | 12h45 | 6:00 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 1 transfer | |
Normal · Normal | 4:15 PM Porto, Terminal Intermodal de Campanhã | 13h40 | 6:55 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 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 Porto to Madrid run on average 21 times per day, taking around 6h 6m. Cheap bus tickets for this journey start at $12 (€10) 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 40m.
Distance 261 miles (421 km) |
Average bus duration 6h 6m |
Cheapest ticket price $12 (€10) |
Buses per day 21 |
Direct buses 17 |
Fastest bus 6h 40m |
First bus 12:05 AM |
Last bus 11:55 PM |
Cheapest Month Mar |
Cheapest Day Sat |
High Season Jul - Sep |
Low Season Jan - Mar |
Busiest Day Wed |
Least Busy Day Sat |
Best time to book 63 days |
Discover the best of Madrid — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Madrid trip today.
World-class art museum with masterpieces by Velázquez, Goya, and Bosch; essential for Spanish and European painting.
Leading modern art museum best known for Picasso’s Guernica, plus major works by Dalí and Miró.
Celebrated collection of European masters from Van Eyck to Hopper in a refined palace setting.
Madrid’s most famous park offers gardens, a boating lake, monuments, and relaxed walks in the city center.
Lively grand avenue known for architecture, shopping, theaters, and nonstop energy from day to night.
Elegant boulevard linking major museums and landmarks, ideal for a classic central Madrid walk.
A hearty chickpea stew with meats, vegetables, and broth, especially traditional in Madrid and often served in stages.
Crisp fried squid rings served in a baguette roll. This iconic Madrid street food is especially linked to bars around Plaza Mayor.
Tripe stew with chorizo and morcilla in a rich sauce. A classic old Madrid tavern dish with deep local roots.
Refined two-Michelin-star dining focused on seasonal Spanish produce, with elegant modern cooking in a polished fine-dining room.
Traditional Madrid restaurant known for cocido madrileño served in stages, with an old-school dining room and loyal local following.
Historic century-old tavern famed for roast suckling pig and Castilian dishes in a classic, wood-lined setting near Plaza Mayor.
Moderate for Western Europe: hotels vary, dining is reasonable, and public transport is good value for tourists.
Tipping is modest: round up or leave 5-10% in restaurants for good service. Taxis are usually rounded up. In cafés, small change is enough.
Official public transport app
Madrid Estación Sur de Autobuses -> Puerta del Sol
The distance travelled by the Oporto Madrid buses exceeds 650 kilometres. To complete these trips they make several stops and take between 8 and 15 hours to reach different parts of Madrid. They depart from various stops in Oporto, including from the airport, and arrive at the Avenida América interchange, Madrid's South bus station and Madrid-Barajas airport.
The companies that manage the routes of the Oporto Madrid buses are ALSA, Flixbus and Eurolines. ALSA offers the highest number of frequencies and uses its own vehicles with Normal service. These buses have a platform to facilitate wheelchair access, wheelchair seats, air conditioning, toilets, access to free wifi and entertainment proposals through the channel Ociobus.
The minimum journey time for Oporto Madrid buses is 7 hours and 40 minutes. This route is operated by Flixbus, which departs from Garagem Atlântico in the centre of Oporto and arrives at Madrid's South station. There is an ALSA service that stops in Lisbon Oriente and 9 more stops and takes 15 hours to arrive at Madrid-Barajas airport. The trips scheduled by Eurolines last more than 24 hours.
Oporto Madrid buses offer between 12 and 13 departures a day from Monday to Friday. On Saturdays 11 departures are usually scheduled, while on Sundays 8 buses leave from Oporto to Madrid.
Oporto stations: There is no main bus station in Oporto, but several bus stops located in different parts of the city. The stops of Praça de Galiza, Campo 24 de Agosto, Casa da Musica located next to an important metro station, Avenida dos Aliados, Garagem Atlântico and Vilanova de Gaia.
stand out.Southern bus station in Madrid: located 5 kilometres from the city centre, it is an intermodal interchange or station where metro, suburban train and urban, interurban and international bus services converge. The centre of Madrid can be reached in 10 minutes by suburban train lines C1 and C5. Its facilities include a cafeteria, restaurant, parking area, ticket offices and taxi rank.
Find answers to the most common questions about traveling from Porto to Madrid 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 Madrid, this guide helps you travel smarter and with confidence.

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