For travel advice and what to do if plans change, visit our booking info page

Eurostar
SNCF

Prices from hundreds of train and coach companies

Join millions of people who use us every day

Travel to thousands of destinations in 45 countries

"Trainline’s take-off has been vertical. It’s the only global digital travel platform of its sort."
"For those travelling by train, the most efficient and trustworthy way to purchase tickets is Trainline."
"If you’re thinking of getting the train the best site to use is thetrainline.com."

Travel from Porto to Barcelona by train in 21 hours 30 minutes

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

The average journey time from Porto to Barcelona by train is 22 hours 55 minutes, although on the fastest services it can take just 21 hours 30 minutes. Around 2 trains per day travel the 560 miles (901 km) between these two destinations. You'll need to make 3 changes along the way to Barcelona.

Book train tickets from Porto to Barcelona in advance instead of buying them on the day and they can start from €26.45. 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.

Porto to Barcelona by train

It takes an average of 22h 55m to travel from Porto to Barcelona by train, over a distance of around 560 miles (901 km). There are normally 2 trains per day travelling from Porto to Barcelona and tickets for this journey start from €26.45 when you book in advance.
Journey timeFrom 21h 30m
PriceFrom €26.45
Distance560 miles (901 km)
Frequency2 trains per day
First train08:00
Last train19:00
Departure stationPorto
Arrival stationBarcelona
Changes3 changes
Train and bus operatorsRede Expressos, ALSA

Porto to Barcelona train times

Check out the next trains departing from Porto to Barcelona for Tuesday 14th December 2021. For the full train timetable/schedule, or to search for a later time or date, click here.
DepartsArrivesDuration
08:00 08:20 24h 20m, 3 changes
19:00 16:30 21h 30m, 3 changes

Cheap train tickets from Porto to Barcelona

The price of train tickets from Porto to Barcelona starts at €26.45 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 Porto to Barcelona 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 Porto to Barcelona? 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 Porto to Barcelona take?

The average journey time by train between Porto and Barcelona is 22 hours and 55 minutes, with around 2 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 Porto and Barcelona by train?

The fastest journey time by train from Porto to Barcelona is 21 hours and 30 minutes.

How much does the train from Porto to Barcelona cost?

Train ticket prices from Porto to Barcelona can start from as little as €26.45 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 Porto to Barcelona?

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

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

The first train from Porto to Barcelona leaves at 08:00. Times and services may vary during weekends and holidays.

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

The last train from Porto to Barcelona leaves at 19:00. 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 Porto and Barcelona by train?

Trains travelling from Porto to Barcelona cover a distance of around 560 miles (901 km) during the journey.

Looking for more information?

If you’re looking for the return train journey, check out trains from Barcelona to Porto.
The information provided is calculated based on scheduled train services for Porto to Barcelona for a typical week day using timetable data for 12/14/2021. On weekends, holidays or other exceptional times, fewer services may be available. The fare range provided has been found by our customers on Trainline on 03/27/2022 for travel on 03/27/2022 and for adult tickets in economy, discount cards and coach journeys excluded.

Europe’s leading train and coach app

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