There are 7 ways to get from Madrid to San Juan del Puerto by train (Renfe, Ouigo), bus, car, plane, or train
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 Madrid-Puerta de Atocha-Almudena Grandes to Sevilla-Santa Justatrain Ave
- Take the train from Sevilla-Santa Justa to San Juan Del Puertotrain 13039 / ...
4h 58m€58–146Bus
cheapest- Take the bus from Madrid Estación Sur de Autobuses to San Juan Puertobus
9h 48m€40–85Bus via Huelva
- Take the bus from Estación Sur de Autobuses to Huelvabus Madrid
8h 36m€46–76Drive 569.6 km
- Drive from Madrid to San Juan del Puertocar 569.6 km
5h 59m€90–129Fly to Seville Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Seville Airport (SVQ)plane MAD - SVQ
- Take the train from Sevilla-Santa Justa to San Juan Del Puertotrain
5h 14m€44–119Fly to Jerez Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Jerez Airport (XRY)plane MAD - XRY
- Take the train from La Parra to Sevilla-Santa Justatrain
- Take the train from Sevilla-Santa Justa to San Juan Del Puertotrain
6h 18m€96–292Fly to Faro Airport, bus
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Faro Airport (FAO)plane MAD - FAO
- Take the bus from Faro to Huelvabus
7h 30m€40–185
Madrid to San Juan del Puerto by train
Questions & Answers
The cheapest way to get from Madrid to San Juan del Puerto is to bus via Huelva which costs €45 - €80 and takes 8h 36m.
The fastest way to get from Madrid to San Juan del Puerto is to train which takes 4h 58m and costs €55 - €150.
Yes, there is a direct bus departing from Madrid Estación Sur de Autobuses and arriving at San Juan Puerto. Services depart four times a week, and operate every day. The journey takes approximately 9h 48m.
No, there is no direct train from Madrid to San Juan del Puerto. However, there are services departing from Madrid-Puerta de Atocha-Almudena Grandes and arriving at San Juan Del Puerto via Sevilla-Santa Justa. The journey, including transfers, takes approximately 4h 58m.
The distance between Madrid and San Juan del Puerto is 575 km. The road distance is 569.6 km.
The best way to get from Madrid to San Juan del Puerto without a car is to train which takes 4h 58m and costs €55 - €150.
It takes approximately 4h 58m to get from Madrid to San Juan del Puerto, including transfers.
Madrid to San Juan del Puerto bus services, operated by Socibus, depart from Estación Sur de Autobuses station.
Madrid to San Juan del Puerto train services, operated by Renfe AVE, depart from Madrid-Puerta de Atocha-Almudena Grandes station.
The best way to get from Madrid to San Juan del Puerto is to train which takes 4h 58m and costs €55 - €150. Alternatively, you can bus via Huelva, which costs €45 - €80 and takes 8h 36m.
What companies run services between Madrid, Spain and San Juan del Puerto, Spain?
You can take a train from Madrid-Puerta de Atocha-Almudena Grandes to San Juan Del Puerto via Sevilla-Santa Justa in around 4h 58m. Alternatively, Socibus operates a bus from Estación Sur de Autobuses to Huelva 3 times a day. Tickets cost €45–75 and the journey takes 7h 26m.
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Seville Airport
- Ave. Duration
- 1h 14m
- When
- Every day
- Estimated price
- €22–90
Flights from Adolfo Suárez Madrid–Barajas Airport to Jerez Airport
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- €45–220
Flights from Adolfo Suárez Madrid–Barajas Airport to Faro Airport
- Ave. Duration
- 1h 25m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €30–160
- Website
- ryanair.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Faro Airport
- Ave. Duration
- 1h 25m
- When
- Every day
- Estimated price
- €27–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Faro Airport via Porto
- Ave. Duration
- 3h 35m
- When
- Monday, Wednesday, and Sunday
- Estimated price
- €27–150
- Website
- aireuropa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Seville Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €24–80
- Phone
- +34 91 232 03 20
- Website
- Renfe AVE
Train from Madrid-Puerta de Atocha-Almudena Grandes to Sevilla-Santa Justa
- Ave. Duration
- 2h 39m
- Frequency
- Hourly
- Estimated price
- €70–130
- Website
- Renfe AVE
- Phone
- +34 900 926 851
- [email protected]
- Website
- Iryo
Train from Madrid-Puerta de Atocha-Almudena Grandes to Sevilla-Santa Justa
- Ave. Duration
- 2h 52m
- Frequency
- Hourly
- Estimated price
- €45–95
- Website
- Iryo
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Madrid-Puerta de Atocha-Almudena Grandes to Sevilla-Santa Justa
- Ave. Duration
- 3h 9m
- Frequency
- Hourly
- Estimated price
- €60–95
- Website
- Renfe Viajeros
Train from Sevilla-Santa Justa to San Juan Del Puerto
- Ave. Duration
- 1h 19m
- Frequency
- Every 4 hours
- Estimated price
- €13–21
- Website
- Renfe Viajeros
Train from Sevilla-Santa Justa to San Juan Del Puerto
- Ave. Duration
- 1h 19m
- Frequency
- Every 4 hours
- Estimated price
- €13–21
- Website
- Renfe Viajeros
Train from La Parra to Sevilla-Santa Justa
- Ave. Duration
- 56 min
- Frequency
- Hourly
- Estimated price
- €12–19
- Website
- Renfe Viajeros
Train from Sevilla-Santa Justa to San Juan Del Puerto
- Ave. Duration
- 1h 19m
- Frequency
- Every 4 hours
- Estimated price
- €13–21
- Website
- Renfe Viajeros
- Phone
- +34 900 759 781
- Website
- Ouigo
Train from Madrid-Puerta de Atocha-Almudena Grandes to Sevilla-Santa Justa
- Ave. Duration
- 2h 40m
- Frequency
- Every 4 hours
- Estimated price
- €40–75
- Website
- Ouigo
- Phone
- +34 915 304 417
- [email protected]
- Website
- Socibus
Bus from Estación Sur de Autobuses to Huelva
- Ave. Duration
- 7h 26m
- Frequency
- 3 times a day
- Estimated price
- €45–75
- Website
- Socibus
- Phone
- +34 916 52 00 11
- [email protected]
- Website
- grupointerbus.com
Bus from Madrid Estación Sur de Autobuses to San Juan Puerto
- Ave. Duration
- 9h 48m
- Frequency
- 4 times a week
- Estimated price
- €40–85
- Schedules at
- grupointerbus.com
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Faro to Huelva
- Ave. Duration
- 1h 40m
- Frequency
- Twice daily
- Estimated price
- €9–16
- Website
- Flixbus
- Phone
- +351 21 75 24 524
- Website
- Rede Expressos
Bus from Faro to Huelva
- Ave. Duration
- 1h 30m
- Frequency
- Once daily
- Estimated price
- €8–20
- Website
- Rede Expressos
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
Train travel in Spain: A guide to Renfe
Read the travel guide
What are the different types of Renfe trains in Spain?
Read the travel guide
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Madrid to San Juan del Puerto bus services, operated by Socibus, arrive at Huelva station.
Madrid to San Juan del Puerto train services, operated by Renfe AVE, arrive at Sevilla-Santa Justa station.
Yes, the driving distance between Madrid to San Juan del Puerto is 570 km. It takes approximately 5h 59m to drive from Madrid to San Juan del Puerto.
There are 434+ hotels available in San Juan del Puerto.



























