Travel Information from Badajoz to San Juan del Puerto
| 107 miles (173 km) | |
| Train or bus | |
| $17 - $44 | |
| Bus • $17 (€15) • 3 h 25 min | |
| Bus • $17 (€15) • 3 h 25 min | |
| BaseBus or Renfe Viajeros |
Take a train or bus to travel 107 miles (173 km) between Badajoz and San Juan del Puerto. The most popular travel companies which serve this trip are BaseBus or Renfe Viajeros among others. Travelers can even take a direct bus or train from Badajoz to San Juan del Puerto.
Travel optionsfrom Badajoz to San Juan del Puerto
How to get from Badajoz to San Juan del Puerto by train, bus or flight.
Our recommendation
The best way to travel from Badajoz to San Juan del Puerto is by taking a train because it’s the best combination of price and speed.

Cheapest

Fastest

Other options

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 and bus 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.
Nov 07
Nov 08
Nov 09
Nov 10
Nov 11
Nov 12
Nov 13
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Badajoz to San Juan del Puerto
Travel to San Juan del Puerto 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 Badajoz to San Juan del Puerto.

There are 2 ways to get from Badajoz to San Juan del Puerto: train or bus.
The cheapest way to travel from Badajoz to San Juan del Puerto is a bus with an average price of $17 (€15).
This is compared to other travel options from Badajoz to San Juan del Puerto:
A bus is $28 (€25) less than a train with an average ticket price of $44 (€40) from Badajoz to San Juan del Puerto.
The fastest way from Badajoz to San Juan del Puerto is by bus with an average journey time of 3 h 25 min.
There are alternative travel options to San Juan del Puerto that take longer:
Getting to San Juan del Puerto by train takes 6 h 55 min on average.
The Badajoz to San Juan del Puerto distance is around 107 miles (173 km).
The average frequency per day from Badajoz to San Juan del Puerto is:
- 2 buses a day.
- 2 trains a day.
However, we recommend checking specific travel dates for your trip between Badajoz and San Juan del Puerto as scheduled services by train or bus can vary by season or day of the week.
These are the most popular departure and arrival points from Badajoz to San Juan del Puerto:
- Buses mostly leave from Badajoz, Estación De Autobuses and tend to arrive in San Juan del Puerto.
Omio works with many trusted partners that can help you travel the best way from Badajoz to San Juan del Puerto:
- You can go to San Juan del Puerto from Badajoz by bus with BaseBus. You'll see cheap bus tickets for $19 (€17) with BaseBus from Badajoz to San Juan del Puerto on Omio.
- You can travel between Badajoz and San Juan del Puerto by train with Renfe Viajeros. You can find cheap tickets on Omio for $44 (€40) with Renfe Viajeros from Badajoz to San Juan del Puerto.
Yes, there are direct services available from Badajoz to San Juan del Puerto with the following travel companies:
- 2 direct buses per day with BaseBus.
Direct services tend to save you time and add more convenience in getting you to San Juan del Puerto as you won't need to transfer at another stop in between, so it's worth paying attention to before booking your tickets to San Juan del Puerto from Badajoz.
Travelling from Badajoz to San Juan del Puerto: related information
Here are some other resources that might have the information you need
