Madrid to Porto by train

  • First train
  • Last train
  • Avg changes
  • Fastest journey
    15hr 3m
  • Distance
    419 kilometres
  • Trains per day
  • Avg. journey time
    20hr 16m
  • Train operators

Travelling from Madrid to Porto by train

Fast trains from Madrid to Porto take around 15 hours and 3 minutes, covering a distance of approximately 419 kilometres. There are frequent services on the rail route between Madrid and Porto.

1. Are there direct trains from Madrid to Porto?

Journeys between Madrid and Porto usually involve one change of train.

We usually find around 5 departures on the route from Madrid to Porto every weekday that leave enough time to change trains without waiting around for longer than necessary.

There are typically fewer departures at weekends, when we found around 2 departures.

2. How long is the train journey from Madrid to Porto?

The Madrid to Porto train travel time is normally about 15 hours and 3 minutes, whatever time you make the journey.

3. What are the Madrid to Porto train times and schedule?

On weekdays the earliest train to Porto is usually scheduled to depart Madrid around 07:12 and the last train is around 22:14. At weekends the first train of the day leaves Madrid around 16:25, and the last at 22:14.

When to book Madrid to Porto train tickets?

Trains for this journey usually open for booking around 3 and a half months in advance. If booking is not yet open for your dates then you can set a booking alert to receive an email on the day that the cheapest tickets are released for your journey from Madrid to Porto by train.

Help with booking alerts

Which train companies operate between Madrid and Porto?

More than one train company operates on the route from Madrid to Porto, so you’ll be travelling with one or more of the following rail operators:

  • Alvia
  • Trencelta
  • Trenhotel

You can check which train you’ll be travelling on by looking for the train name in search results.

Porto to Madrid by train

Other journeys to Porto (Campanha) View all journeys to Porto (Campanha)

Buy train and bus tickets for UK and Europe - the easy way

  • Easy, fast and cheap
  • Pay in EUR, GBP or USD
  • Cheaper UK tickets with Pricehack
  • 100% human support

Subscribe to our newsletter

Subscribe to receive top tips, train news and travel inspiration straight to your inbox

Child and youth passengers

The definition of "Child" and "Youth" varies by country and operator. This is why we ask for the age of young passengers.

Sometimes children below a certain age can travel without a seat for free. If you want to guarantee a seat for child passengers, enter '6' as the age of the child.

Read more about child and youth passenger ages. See also youth discounts and railcards.