How to travel from Porto to Barcelona

Sun, Sep 27
+ Add return
Travel by train, bus, flight with
Lufthansa Cityline
AVE
FlixBus
azores airlines
BA Euroflyer
1,000+ more
Lufthansa Cityline
AVE
FlixBus
azores airlines
BA Euroflyer
1,000+ more
QR-Code
Scan to get our free app
Use our app to get live travel updates and book mobile tickets for trains, buses, flights, and ferries.
App Store
rate4.9
42K ratings
Google Play
rate4.6
136K reviews

Travel Information

Compare train, bus, and flight for Porto to Barcelona

Omio recommends booking the flight as it is the most popular option from Porto to Barcelona among Omio's users. If you are prioritising price, take the train, with an average ticket price of €22 For those with little time, consider booking a flight, which has an average total journey time of 5h 34m. If you are seeking to minimise your carbon footprint, the bus is your best option, with estimated CO2 emissions of 0.9 - 2.2kg. Average ticket prices depend on the travel mode: a train costs an average of €22, while a flight costs an average of €280.

Distance: 900 km

Compare flight with

Most popular
Flight
Train
Bus

€280

Average price

€22

Average price

Cheapest

€67

Average price

5h 34m

Average total duration

Fastest

3h 34m

Onboard

+

2h 0m

Additional time*

9h 24m

Average total duration

8h 54m

Onboard

+

30m

Additional time*

20h 5m

Average total duration

19h 35m

Onboard

+

30m

Additional time*

2.7 - 5.4kg

CO2 emissions

-

CO2 emissions

0.9 - 2.2kg

CO2 emissions

Lowest
TAP Portugal

Most popular airline

AVE

Most popular train company

FlixBus

Most popular bus company

Direct Options

Direct Options

Direct Options

Additional time: Average total travel duration to departure point, security checks and transfers.

The cheapest way to travel from Porto to Barcelona is a train with an average price of €22.

This is compared to other travel options from Porto to Barcelona:

A train is €45 less than a bus for this route with tickets for a bus from Porto to Barcelona costing on average €67.

A train is €258 less than a flight for this route with tickets for a flight from Porto to Barcelona costing on average €280.

The fastest way to travel from Porto to Barcelona is by flight with an average journey time of 5h 34m.

Other travel options to Barcelona take longer:

Train takes on average 9h 24m.

Bus takes on average 20h 5m.

It's helpful to compare your options as there are 3 ways to travel between Porto and Barcelona including taking a train, bus, and flight.

Travel options
from Porto to Barcelona

How to get from Porto to Barcelona by train, bus or flight.

Our recommendation

bus

The best way to travel from Porto to Barcelona is by taking a bus because it’s the best combination of price and speed.

  • BlaBlaCar Bus54152
    12:50 AM15h30
    Porto, Terminal Intermodal de Campanhã
    5:20 PMBarcelona, Estació d'Autobusos Nord
    €451One-way
    0 transfers

Cheapest

  • BlaBlaCar Bus54152
    12:50 AM15h30
    Porto, Terminal Intermodal de Campanhã
    5:20 PMBarcelona, Estació d'Autobusos Nord
    €451One-way
    0 transfers

Fastest

  • RyanairFR 4546
    7:45 AM1h45
    Porto Airport
    10:30 AMBarcelona El Prat Airport
    €2141One-way
    0 transfers

Other options

  • Renfe00421+AVE04254+iryo06201
    8:10 AM14h29
    Porto - Campanhã
    11:39 PMBarcelona Sants
    €3101One-way
    2 transfers
  • FlixBusFlixBus · FlixBus · FlixBus
    9:30 AM26h30
    Porto, Terminal Intermodal de Campanhã
    1:00 PMBarcelona, Estació d'Autobusos Nord
    €1011One-way
    2 transfers
  • FlixBusFlixBus · FlixBus
    5:00 AM20h35
    Porto, Terminal Intermodal de Campanhã
    2:35 AMBarcelona, Estació d'Autobusos Nord
    €1081One-way
    1 transfer
  • FlixBusFlixBus · FlixBus
    9:00 PM27h00
    Porto, Terminal Intermodal de Campanhã
    1:00 AMBarcelona, Estació d'Autobusos Nord
    €1261One-way
    1 transfer
  • RyanairFR 4584
    1:15 PM1h45
    Porto Airport
    4:00 PMBarcelona El Prat Airport
    €2481One-way
    0 transfers
  • RyanairFR 4596
    5:50 PM1h45
    Porto Airport
    8:35 PMBarcelona El Prat Airport
    €2721One-way
    0 transfers
  • SwissLX2067 · LX1956
    12:15 PM5h55
    Porto Airport
    7:10 PMBarcelona El Prat Airport
    €2991One-way
    1 transfer

Find all the dates and times for this journey by train, bus, flight, and ferry .

Compare prices and tickets Prices for trains, buses and flights

Compare train, bus, and flight prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.

Sat
Sep 26
Sun
Sep 27
Mon
Sep 28
Tue
Sep 29
Wed
Sep 30
Thu
Oct 01
Fri
Oct 02
Sat
Oct 03
Sun
Oct 04
Mon
Oct 05
Tue
Oct 06
Wed
Oct 07
Thu
Oct 08
Fri
Oct 09
Sat
Oct 10
Sun
Oct 11
Mon
Oct 12
Tue
Oct 13
Wed
Oct 14
Thu
Oct 15
Fri
Oct 16

More than 1,000 travel companies trust us to sell their tickets all in one place.

Trenitalia
Easyjet
Deutsche Bahn
SNCF

FAQs: Travel from Porto to Barcelona

Travel to Barcelona easily. Whether you want fast, cheap or something entirely different, our travel experts have collected everything you need to know so you can find the best option from Porto to Barcelona.

FAQs
There are 3 options to travel between Porto and Barcelona including taking a train, bus, and flight.
The cheapest way to travel from Porto to Barcelona is a train with an average price of €22.

This is compared to other travel options from Porto to Barcelona:

A train is €45 less than a bus for this route with tickets for a bus from Porto to Barcelona costing on average €67.

A train is €258 less than a flight for this route with tickets for a flight from Porto to Barcelona costing on average €280.

The fastest way to travel from Porto to Barcelona is by flight with an average journey time of 5h 34m.

Other travel options to Barcelona take longer:

Train takes on average 9h 24m.

Bus takes on average 20h 5m.

The Porto to Barcelona distance is approximately 900 km.
The average frequency per day from Porto to Barcelona is:
  • Around 68 flights per day.
  • Around 12 buses per day.
  • Around 3 trains per day.

However, we recommend checking specific travel dates for your route between Porto and Barcelona as scheduled services by train, bus, and flight can vary by season or day of the week.

These are the most popular departure and arrival points from Porto to Barcelona:
  • Flights mostly depart from Porto Airport and arrive in Barcelona El Prat Airport.
  • Trains mostly depart from Porto - Campanhã and arrive in Barcelona Sants.
  • Buses mostly depart from Porto, Terminal Intermodal de Campanhã and arrive in Barcelona, Estació d'Autobusos Nord.
If finding a good deal is your main consideration for your trip from Porto to Barcelona, then we'll help you find the best value travel companies for you:
  • Travel with Lufthansa Cityline, azores airlines, BA Euroflyer, Brussels Airlines, Avion Express Malta, Norwegian Air Shuttle, Air Baltic, Helvetic Airways, Lot Polish Airlines, British Airways, Ryanair, Edelweiss Air, Iberia, CitizenPlane, Air Europa, Swiss, Iberia Express, Eurowings, Lufthansa City Airlines, Air France, Austrian Airlines, Lufthansa, Vueling, Royal Air Maroc, TAP Portugal to go to Barcelona by flight.
  • Travel with AVE, Renfe AVLO to go to Barcelona by train.
  • Travel with FlixBus, Alsa, Rede Expressos, BlaBlaCar Bus to go to Barcelona by bus.
Yes, there are direct services available from Porto to Barcelona with the following travel companies:
  • 9 direct flights per day with Ryanair, CitizenPlane, Vueling.
  • 0 direct trains per day with AVE, Renfe AVLO.
Omio customers who travel from Porto to Barcelona often also extend their vacation to go to Madrid, Paris, Valencia, Seville, Zaragoza. Omio can help you plan your trip by finding the best connections between Barcelona and these popular destinations at a great price.
HomeTravelTravel to BarcelonaHow to travel from Porto to Barcelona

The Omio App Makes Travel Planning Easy

We’ll get you where you want to go. From live train updates to mobile tickets, our innovative app is the ideal way to plan and keep track of your travel.

ios-badge
android-badge
Hand With Phone