There are 6 ways to get from Porto to Badajoz by train, bus, car, or plane
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 Porto Campanha to Entroncamentotrain Ic / ...
- Take the train from Entroncamento to Badajoztrain Re
6h 1m€40–81Bus via Lisbon
cheapest- Take the bus from Porto to Lisbonbus 1000 / ...
- Take the bus from Lisbon to Badajozbus FlixBus 794 / ...
6h 55m€34–71Drive 355.8 km
- Drive from Porto to Badajozcar 355.8 km
4h 13m€57–82Fly to Lisbon-Portela Airport, bus
- Fly from Francisco De Sá Carneiro Airport (OPO) to Lisbon-Portela Airport (LIS)plane OPO - LIS
- Take the bus from Lisbon to Badajozbus
6h 12m€57–138Bus
- Take the bus from Porto - Terminal Intermodal de Campanhã to Terminal Rodoviário de Évorabus 20 | Braga
- Take the bus from Terminal Rodoviário de Évora to Badajozbus
10h 39m€43–95Fly to Badajoz Airport
- Fly from Francisco De Sá Carneiro Airport (OPO) to Badajoz Airport (BJZ)plane OPO - BJZ
7h 42m€134–854
Porto to Badajoz by train
Questions & Answers
The cheapest way to get from Porto to Badajoz is to bus via Lisbon which costs €30 - €75 and takes 6h 55m.
The fastest way to get from Porto to Badajoz is to drive which takes 4h 13m and costs €55 - €85.
No, there is no direct bus from Porto to Badajoz. However, there are services departing from Porto and arriving at Badajoz via Lisbon. The journey, including transfers, takes approximately 6h 55m.
No, there is no direct train from Porto to Badajoz. However, there are services departing from Porto Campanha and arriving at Badajoz via Entroncamento. The journey, including transfers, takes approximately 6h 1m.
The distance between Porto and Badajoz is 404 km. The road distance is 355.8 km.
The best way to get from Porto to Badajoz without a car is to train which takes 6h 1m and costs €40 - €85.
It takes approximately 6h 1m to get from Porto to Badajoz, including transfers.
Porto to Badajoz bus services, operated by FlixBus, depart from Porto station.
Porto to Badajoz train services, operated by Comboios de Portugal, depart from Porto Campanha station.
The best way to get from Porto to Badajoz is to train which takes 6h 1m and costs €40 - €85. Alternatively, you can bus via Lisbon, which costs €30 - €75 and takes 6h 55m, you could also fly, which costs €130 - €900 and takes 7h 42m.
What companies run services between Porto, Portugal and Badajoz, Spain?
You can take a train from Porto Campanha to Badajoz via Entroncamento in around 6h 1m. Alternatively, you can take a bus from Porto to Badajoz via Lisbon in around 6h 55m.
- Website
- flytap.com
Flights from Francisco De Sá Carneiro Airport to Lisbon-Portela Airport
- Ave. Duration
- 56 min
- When
- Every day
- Estimated price
- €35–110
- Website
- iberia.com
Flights from Francisco De Sá Carneiro Airport to Badajoz Airport via Madrid
- Ave. Duration
- 5h 21m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €65–360
Flights from Francisco De Sá Carneiro Airport to Badajoz Airport via Barcelona
- Ave. Duration
- 6h 35m
- When
- Monday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €85–350
- Phone
- +351 210 900 032
- Website
- cp.pt
Train from Porto Campanha to Entroncamento
- Ave. Duration
- 2h 13m
- Frequency
- Every 3 hours
- Estimated price
- €23–50
- Website
- https://www.cp.pt/en/
Train from Entroncamento to Badajoz
- Ave. Duration
- 2h 48m
- Frequency
- Twice daily
- Estimated price
- €17–35
- Website
- https://www.cp.pt/en/
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Porto to Lisbon
- Ave. Duration
- 3h 15m
- Frequency
- Every 20 minutes
- Estimated price
- €20–35
- Website
- https://www.flixbus.co.uk
Bus from Lisbon to Badajoz
- Ave. Duration
- 2h 40m
- Frequency
- 3 times a day
- Estimated price
- €14–26
- Website
- https://www.flixbus.co.uk
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Porto to Lisbon
- Ave. Duration
- 4h 15m
- Frequency
- 5 times a day
- Estimated price
- €19–40
- Website
- https://www.blablacar.co.uk/bus
Bus from Lisbon to Badajoz
- Ave. Duration
- 2h 55m
- Frequency
- Once daily
- Estimated price
- €14–27
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +34 910 207 007
- alsa@alsa.es
- Website
- alsa.com
Bus from Lisbon to Badajoz
- Ave. Duration
- 3h
- Frequency
- Once daily
- Estimated price
- €17–35
- Website
- https://www.alsa.com/en
Bus from Terminal Rodoviário de Évora to Badajoz
- Ave. Duration
- 1h 14m
- Frequency
- Once daily
- Estimated price
- €8–17
- Website
- https://www.alsa.com/en
- Phone
- +351 21 75 24 524
- Website
- rede-expressos.pt
Bus from Porto - Terminal Intermodal de Campanhã to Terminal Rodoviário de Évora
- Ave. Duration
- 8h 25m
- Frequency
- Once daily
- Estimated price
- €35–80
- Website
- https://rede-expressos.pt
Bus from Terminal Rodoviário de Évora to Badajoz
- Ave. Duration
- 1h 14m
- Frequency
- 6 times a week
- Estimated price
- €7–17
- Website
- https://rede-expressos.pt
Want to know more about travelling around Spain
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
Porto to Badajoz bus services, operated by FlixBus, arrive at Lisbon station.
Badajoz is 1h ahead of Porto. It is currently 12:46 AM in Porto and 1:46 AM in Badajoz.
Porto to Badajoz train services, operated by Comboios de Portugal, arrive at Entroncamento station.
Yes, the driving distance between Porto to Badajoz is 356 km. It takes approximately 4h 13m to drive from Porto to Badajoz.
Book your Porto to Badajoz train tickets online with Omio.
Book your Porto to Badajoz bus tickets online with Omio and FlixBus.
There are 56+ hotels available in Badajoz.























