There are 7 ways to get from Beja to Porto by train, bus, rideshare, plane, or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train
best- Take the train from Beja to Casa Brancatrain Ic
- Take the train from Casa Branca to Lisboa Orientetrain Ic
- Take the train from Lisboa Oriente to Porto Campanhatrain Ic
6h 41m€55–101Rideshare
cheapest- Take the rideshare from Beja to Porto445.4 km
5h 31m€1–3Bus via Lisbon
- Take the bus from Terminal Rodoviário de Beja to Estação Rodoviária de Sete Riosbus 85 | Vila Verde de Ficalho / ...
- Take the bus from Estação Rodoviária de Sete Rios to Porto - Terminal Intermodal de Campanhãbus Lisboa / ...
7h 5m€32–69Bus to Faro Airport, fly
- Take the bus from Terminal Rodoviário de Beja to Farobus
- Fly from Faro Airport (FAO) to Francisco De Sá Carneiro Airport (OPO)plane FAO - OPO
5h 36m€48–177Bus
- Take the bus from Terminal Rodoviário de Beja to Portobus N1016
7h 15m€35–80Drive 446.4 km
- Drive from Beja to Portocar 446.4 km
4h 29m€71–102Train, train to Lisbon-Portela Airport, fly
- Take the train from Beja to Casa Brancatrain
- Take the train from Casa Branca to Lisboa Orientetrain
- Fly from Lisbon-Portela Airport (LIS) to Francisco De Sá Carneiro Airport (OPO)plane LIS - OPO
5h 54m€68–147
Beja to Porto by train
Questions & Answers
The cheapest way to get from Beja to Porto is to rideshare which costs €1 - €3 and takes 5h 31m.
The fastest way to get from Beja to Porto is to drive which takes 4h 29m and costs €70 - €110.
Yes, there is a direct bus departing from Terminal Rodoviário de Beja and arriving at Porto. Services depart twice daily, and operate every day. The journey takes approximately 7h 15m.
No, there is no direct train from Beja to Porto. However, there are services departing from Beja and arriving at Porto Campanha via Casa Branca and Lisboa Oriente. The journey, including transfers, takes approximately 6h 41m.
The distance between Beja and Porto is 515 km. The road distance is 446.4 km.
The best way to get from Beja to Porto without a car is to train which takes 6h 41m and costs €55 - €110.
It takes approximately 6h 41m to get from Beja to Porto, including transfers.
Beja to Porto bus services, operated by Rede Expressos, depart from Terminal Rodoviário de Beja station.
Beja to Porto train services, operated by Comboios de Portugal, depart from Beja station.
The best way to get from Beja to Porto is to train which takes 6h 41m and costs €55 - €110. Alternatively, you can bus via Lisbon, which costs €30 - €70 and takes 7h 5m.
What companies run services between Beja, Portugal and Porto, Portugal?
You can take a train from Beja to Porto Campanha via Casa Branca and Lisboa Oriente in around 6h 41m. Alternatively, you can take a bus from Terminal Rodoviário de Beja to Porto - Terminal Intermodal de Campanhã via Estação Rodoviária de Sete Rios in around 7h 5m.
- Website
- flytap.com
Flights from Faro Airport to Francisco De Sá Carneiro Airport via Lisbon-Portela Airport
- Ave. Duration
- 3h 15m
- When
- Tuesday, Thursday, Saturday, and Sunday
- Estimated price
- €85–150
Flights from Lisbon-Portela Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 58 min
- When
- Every day
- Estimated price
- €45–100
- Phone
- +351 210 900 032
- Website
- Comboios de Portugal
Train from Beja to Casa Branca
- Ave. Duration
- 49 min
- Frequency
- 5 times a day
- Estimated price
- €6–13
- Website
- Comboios de Portugal
Train from Casa Branca to Lisboa Oriente
- Ave. Duration
- 1h 32m
- Frequency
- 4 times a day
- Estimated price
- €13–24
- Website
- Comboios de Portugal
Train from Lisboa Oriente to Porto Campanha
- Ave. Duration
- 2h 39m
- Frequency
- Hourly
- Estimated price
- €35–65
- Website
- Comboios de Portugal
Train from Beja to Casa Branca
- Ave. Duration
- 49 min
- Frequency
- 5 times a day
- Estimated price
- €6–13
- Website
- Comboios de Portugal
Train from Casa Branca to Lisboa Oriente
- Ave. Duration
- 1h 32m
- Frequency
- 4 times a day
- Estimated price
- €13–24
- Website
- Comboios de Portugal
- Phone
- +351 21 75 24 524
- Website
- Rede Expressos
Bus from Terminal Rodoviário de Beja to Estação Rodoviária de Sete Rios
- Ave. Duration
- 3h
- Frequency
- Every 4 hours
- Estimated price
- €11–25
- Website
- Rede Expressos
Bus from Estação Rodoviária de Sete Rios to Porto - Terminal Intermodal de Campanhã
- Ave. Duration
- 3h 30m
- Frequency
- Hourly
- Estimated price
- €21–45
- Website
- Rede Expressos
Bus from Terminal Rodoviário de Beja to Faro
- Ave. Duration
- 2h 30m
- Frequency
- Once daily
- Estimated price
- €11–24
- Website
- Rede Expressos
Bus from Terminal Rodoviário de Beja to Porto
- Ave. Duration
- 9h 50m
- Frequency
- Once daily
- Estimated price
- €35–80
- Website
- Rede Expressos
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar
Rideshare from Beja to Porto
- Ave. Duration
- 5h 31m
- Frequency
- Every 4 hours
- Estimated price
- €1–3
- Schedules at
- BlaBlaCar
Want to know more about travelling around Portugal
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Beja to Porto bus services, operated by Rede Expressos, arrive at Estação Rodoviária de Sete Rios station.
Beja to Porto train services, operated by Comboios de Portugal, arrive at Casa Branca station.
Yes, the driving distance between Beja to Porto is 446 km. It takes approximately 4h 29m to drive from Beja to Porto.
Book your Beja to Porto train tickets online with Omio.
Book your Beja to Porto bus tickets online with Omio.
There are 6756+ hotels available in Porto.
Check out Blablacar's carpooling service for rideshare options between Beja and Porto. A great option if you don't have a driver's licence or want to avoid public transport.









