Barcelona to Porto by train

  • First train
  • Last train
  • Avg changes
  • Fastest journey
    25hr 3m
  • Distance
    897 kilometres
  • Trains per day
  • Avg. journey time
    27hr 16m
  • Train operators

Travelling from Barcelona to Porto by train

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

1. Are there direct trains from Barcelona to Porto?

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

We usually find around 7 departures on the route from Barcelona 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 6 departures.

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

The Barcelona to Porto train travel time is normally about 1 day, 1 hour and 3 minutes, whatever time you make the journey.

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

On weekdays the earliest train to Porto is usually scheduled to depart Barcelona around 09:30 and the last train is around 21:15. At weekends the first train of the day leaves Barcelona around 07:05, and the last at 21:15.

When to book Barcelona to Porto train tickets?

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

Help with booking alerts

Which train companies operate between Barcelona and Porto?

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