TrainlineTrainline is Europe’s leading platform for train and bus tickets

Low prices found by our customers
Each fare is the lowest adult economy ticket fare found by our customers on Trainline. Fares booked further in advance than the dates displayed may be cheaper. Prices are updated daily, subject to change and indicative of price last update. Limited availability. Discount cards and coach journeys excluded, prices exclusive of booking fee.

What customers say about Trainline

Read real reviews from real users

Travel from Madrid to Porto by train in 11 hours 10 minutes

If you want to know more about the journey from Madrid to Porto by train, look no further!

The average journey time from Madrid to Porto by train is 14 hours 7 minutes, although on the fastest services it can take just 11 hours 10 minutes. Around 3 trains per day travel the 262 miles (421 km) between these two destinations. You'll need to make 3 changes along the way to Porto.

Book train tickets from Madrid to Porto in advance instead of buying them on the day and they can start from £31.72. We'll always highlight the cheapest prices when you search in our Journey Planner.

Ready to book? Start your search for cheap train tickets with us today. Keep reading for more information, including our timetable where you can view first and last train times, as well as tips on how to find cheap train tickets.

Madrid to Porto by train

It takes an average of 14h 7m to travel from Madrid to Porto by train, over a distance of around 262 miles (421 km). There are normally 3 trains per day travelling from Madrid to Porto and tickets for this journey start from £31.72 when you book in advance.

First train

11:20

Last train

20:32

Departure station

Madrid

Arrival station

Porto

Journey time

From 11h 10m

Distance

262 miles (421 km)

Frequency

3 trains per day

Changes

3 changes

Price

From £31.72

Train and bus operators

Gipsyy, Flixbus

Madrid to Porto train times

Check out the next trains departing from Madrid to Porto for Tuesday 7th May 2024. For the full train timetable/schedule, or to search for a later time or date, click here.
DepartsArrivesDuration
10:20 21:30 11h 10m, 3 changes
18:15 10:30 16h 15m, 3 changes
19:32 10:30 14h 58m, 4 changes

Cheap train tickets from Madrid to Porto

The price of train tickets from Madrid to Porto starts at £31.72 one-way for a Standard Class ticket if you book in advance. Booking on the day is usually more expensive and costs can vary depending on the time of day, route or class.

Book in advance

Most of the train companies across Europe release their tickets around three to six months in advance, many of which can be cheaper the earlier you book. If you know the dates you want to travel, you may be able to find some cheaper train tickets from Madrid to Porto by booking early.§

Be flexible with your travel times

Many of the train services in Europe are also popular commuter services, lots of train companies increase ticket prices during “peak hours” (generally between 06:00 – 10:00 and 15:00 – 19:00 on weekdays). If you can, consider travelling outside of peak hours to find lower priced tickets.

Choose a slower or connecting train

On some of the busier routes, you might also have the option to take a slower or connecting train. It may take a little longer than some high-speed or direct services, but if you have a little extra time on your hands, you might find a cheaper fare. Plus, you'll have more time to enjoy the view of the countryside!

Look out for special deals

Take a look at our handy guides to find out when train operators release their special deals and offers to see if you can find cheap European train tickets for your journey.

For specific information about how to get your hands on cheap tickets, check out our European train tickets hub.

§Some train companies may not offer any Advance ticket types or cheaper deals for early bookings. On rare occasions, train companies may choose to release special offers closer to the date on last-minute or late-release tickets. This is dependent on the individual train operating company you travel with.

Journey details

Want to know more about your journey from Madrid to Porto? We've compiled some of the most frequently asked questions by our customers to help you plan your journey.

How long does the train from Madrid to Porto take?

The average journey time by train between Madrid and Porto is 14 hours and 7 minutes, with around 3 trains per day. The journey time may be longer on weekends and holidays, so use our Journey Planner on this page to search for a specific travel date.

What's the fastest journey time between Madrid and Porto by train?

The fastest journey time by train from Madrid to Porto is 11 hours and 10 minutes.

How much does the train from Madrid to Porto cost?

Train ticket prices from Madrid to Porto can start from as little as £31.72 when you book in advance. The cost of tickets can vary depending on the time of day, route and class you book and are usually more expensive if you book on the day.

Is there a direct train from Madrid to Porto?

No, there are no direct train services from Madrid to Porto. Travelling from Madrid to Porto by train will require a minimum of 3 changes.

What time does the first train from Madrid to Porto leave?

The first train from Madrid to Porto leaves at 11:20. Times and services may vary during weekends and holidays.

What time does the last train from Madrid to Porto leave?

The last train from Madrid to Porto leaves at 20:32. Trains that depart in the early morning hours or very late evening may be sleeper services, time and services may also vary during weekends and holidays.

What's the distance between Madrid and Porto by train?

Trains travelling from Madrid to Porto cover a distance of around 262 miles (421 km) during the journey.

Looking for more information?

If you’re looking for the return train journey, check out trains from Porto to Madrid. If you’re looking for other options, you can also catch the bus from Madrid to Porto.

Europe’s leading train and coach app

We help customers across Europe make more than 172,000 smarter journeys every day.