Travel from Barcelona to Porto

Train, bus or fly from Barcelona to Porto?

Vueling Airlines, Ryanair and three other airlines fly from Barcelona to Porto hourly. Alternatively, you can take a train from Barcelona to Porto via Madrid-Puerta de Atocha, Atocha, Madrid-Chamartin, and Vigo-Guixar in around 13 h 13 min.

How to get from Barcelona to Porto

ModeDurationPrice
From Barcelona - Passeig de Gràcia train to Barcelona airport, fly to Porto airport, then Metro to Porto.4 h 32 min$58
From Barcelona - Passeig de Gràcia train to Barcelona airport, fly to Vigo airport, bus to Tva. de Vigo 37, bus to Vigo, then bus to Porto.5 h 48 min$66
From Barcelona Sants train to Madrid-Puerta de Atocha, walk to Atocha, train to Madrid-Chamartin, train to Orense-Empalme, walk to Ourense, then bus to Porto.11 h 42 min$196
From Barcelona Sants train to Madrid-Puerta de Atocha, walk to Atocha, train to Madrid-Chamartin, train to Vigo-Guixar, then train to Porto(Campanha).13 h 13 min$213
From Barcelona - Nord bus to Porto - Casa da Música.20 h 30 min$101
From Barcelona Sants Station bus to Lleida then bus to Porto.20 h 51 min
From Barcelona Sants Trenhotel to Ourense, walk to Ourense, then bus to Porto.16 h 26 min$185
From Barcelona drive to Porto.11 h 7 min$199

How long does it take to get from Barcelona to Porto?

It takes approximately 4 h 32 min to get from Barcelona to Porto, including transfers.

Is there a direct train between Barcelona and Porto?

No, there is no direct train from Barcelona to Porto. However, there are services departing from Barcelona Sants and arriving at Porto(Campanha) via Atocha, Madrid-Chamartin and Vigo-Guixar. The journey, including transfers, takes approximately 13 h 13 min.

Is there a direct bus between Barcelona and Porto?

Yes, there is a direct bus departing from Barcelona - Nord and arriving at Porto - Casa da Música. Services depart once daily, and operate Sunday. The journey takes approximately 20 h 30 min.

Operators from Barcelona to Porto

OperatorPhoneWebsite
Barcelona Cercanías (RENFE)900 41 00 41Barcelona Cercanías (RENFE)
Vueling AirlinesVueling Airlines
RyanairRyanair
IberiaIberia
TAP PortugalTAP Portugal
Air EuropaAir Europa
Metro do Porto+351 22 508 1000Metro do Porto
Vitrasa986 29 16 00Vitrasa
Autna+34 (0) 986 288 030Autna
Spanish Railways AVESpanish Railways AVE
Madrid Cercanías (RENFE)902 320 320Madrid Cercanías (RENFE)
Spanish Railways (RENFE)902 320 320Spanish Railways (RENFE)
ALSA+34 902 42 22 42ALSA
Autocares Lázara+34 (0) 902 23 95 79Autocares Lázara