Want stress-free journeys? Now you can plan around disruptions, rebook and get help with Delay Repay. Find out more

RailcardsBusiness

No tickets in your basket.

Why not plan a trip?

My Bookings
Loading...
Loading...
Eurostar
SNCF

Compare prices from over 270 rail and coach companies in Europe

Icon of trainline-phone-tickets.svg

Buy your tickets with us and easily find them on your phone

Icon of trainline-safe-payments.svg

Safely pay with PayPal, Visa and all international payment cards

What customers say about Trainline

Read real reviews from real users

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

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

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

Book train tickets from Porto to Madrid in advance instead of buying them on the day and you'll snap up the cheapest fares. You can check prices from Porto to Madrid 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.

Trains to Madrid from Porto

First train

06:30

Last train

10:35

Departure stationPorto
Arrival stationMadrid
Journey time

From 10h 30m

Distance

262 miles (421 km)

Frequency

2 trains per day

Changes

1 change

Train and bus operators

BlaBlaCar Bus, Flixbus, Gipsyy, Rede Expressos

What do people frequently ask about the train journey from Porto to Madrid?

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

How do you get to Madrid from Porto?

To travel to Madrid from Porto, you can take the train - on average, the journey takes around 11 hours and 28 minutes, though the fastest trains can take 10 hours and 30 minutes. Alternatively, you can also take the bus from Porto to Madrid. Use our Journey Planner to get more information.

How long is the train ride from Porto to Madrid?

Trains from Porto to Madrid take an average of 11 hours and 28 minutes, although on the fastest services it can take just 10 hours and 30 minutes. You'll usually find 2 trains per day on this route, so use our Journey Planner to check specific dates as times may vary.

What is the quickest journey time between Porto and Madrid by train?

The quickest journey time between Porto and Madrid by train is 10 hours and 30 minutes.

Are there direct trains from Porto to Madrid?

No, there are no direct trains running from Porto to Madrid, you’ll usually need to make at least 1 change during the journey.

What are the train times from Porto to Madrid?

Check out the next trains departing from Porto to Madrid for Monday 5th January 2026. For the full train timetable/schedule, or to search for a later time or date, click here.
DepartsArrivesDuration
06:30Porto Sao Bento19:57Madrid - Atocha Cercanías12h 27m, 2 changes
10:35Porto Sao Bento22:05Madrid - Atocha Cercanías10h 30m, 1 change
06:30Porto Sao Bento19:57Madrid - Atocha Cercanías12h 27m, 2 changes
10:35Porto Sao Bento22:18Madrid - Atocha Cercanías10h 43m, 1 change
06:30Porto Sao Bento19:57Madrid - Atocha Cercanías12h 27m, 2 changes
10:35Porto Sao Bento22:05Madrid - Atocha Cercanías10h 30m, 1 change

How do I find cheap train tickets from Porto to Madrid?

If you’re planning a trip to Europe soon, our Trainline team of experts have put together some tips to help you find cheap tickets. Booking on the day in Europe is usually more expensive and costs can vary depending on the time of day, route or travel class.

1. Book in advance

The price of train tickets from Porto to Madrid starts at § one-way for a Standard Class ticket if you book in advance. Most train companies across Europe release their tickets around three to six months ahead of time, so if you know the dates you want to travel, you may be able to find cheaper tickets.

2. Be flexible with your travel times

If you can, consider travelling outside of 'peak hours' (generally between 06:00 - 10:00 and 15:00 - 19:00 on weekdays) as many train companies increase their ticket prices during these commuter times.

3. Buy a rail pass

If you're visiting multiple locations on your trip, buying a rail pass can be cheaper than buying individual tickets. We're official retailers of Interrail Passes that are valid for travel within one country or multiple countries across Europe.

4. Choose a slower or connecting train

On some busier routes, you might have the option to take a slower or connecting train. It may take longer than some high-speed or direct services, but if you have some extra time on your hands, you might find a cheaper fare.

5. Look out for train ticket sales and discounts

Many train companies in Europe will often run sales on tickets throughout the year or offer discounts to senior/youth/group travellers, so keep an eye out!

6. Take a night train

Save on accommodation and use the night to travel by sleeper train to your next destination.

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.

Looking for more ideas?

Europe’s leading train and coach app

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