Porto to Barcelona by train

  • First train
  • Last train
  • Avg changes
  • Fastest journey
    23hr 34m
  • Distance
    897 kilometres
  • Trains per day
  • Avg. journey time
    24hr 2m
  • Train operators

Travelling from Porto to Barcelona by train

Fast trains from Porto to Barcelona take around 23 hours and 34 minutes, covering a distance of approximately 897 kilometres. There are frequent services on the rail route between Porto and Barcelona.

1. Are there direct trains from Porto to Barcelona?

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

We usually find around 2 departures on the route from Porto to Barcelona 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 at least one departure.

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

The Porto to Barcelona train travel time is normally about 23 hours and 34 minutes, whatever time you make the journey.

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

On weekdays the earliest train to Barcelona is usually scheduled to depart Porto around 08:13 and the last train is around 19:10. At weekends the only train usually departs Porto around 08:13.

When to book Porto to Barcelona train tickets?

Trains for this journey usually open for booking around 4 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 Porto to Barcelona by train.

Help with booking alerts

Which train companies operate between Porto and Barcelona?

More than one train company operates on the route from Porto to Barcelona, 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.

Barcelona to Porto by train

Other journeys to Barcelona View all journeys to Barcelona

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.