There are 7 ways to get from Madrid to Olhão by train, bus, car, plane, or ferry
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train, bus via Seville
best- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Sevilla-Santa Justatrain Ave
- Take the bus from Sevilla Santa Justa to Tavirabus
6h 55m€58–159Fly to Faro Airport
cheapest- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Faro Airport (FAO)plane MAD - FAO
4h 33m€33–171Bus
- Take the bus from Estación Sur de Autobuses to Sevilla, Estación de Autobusesbus Madrid
- Take the bus from Sevilla - Plaza de Armas to Farobus
11h 3m€55–104Drive 670.3 km
- Drive from Madrid to Olhãocar 670.3 km
7h 2m€106–153Train, bus
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Huelvatrain Alv / ...
- Take the bus from Huelva to Tavirabus
7h 9m€82–130Bus, ferry, train
- Take the bus from Madrid Estación Sur de Autobuses to Ayamontebus
- Take the ferry from Ayamonte to Vila Real de Santo Antónioferry
- Take the train from Vila Real De Santo Antonio to Olhaotrain 880 / ...
14h 19m€74–137Fly to Seville Airport, bus
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Seville Airport (SVQ)plane MAD - SVQ
- Take the bus from Sevilla - Plaza de Armas to Tavirabus
7h 18m€50–156
Madrid to Olhão by train, bus, and foot
Questions & Answers
The cheapest way to get from Madrid to Olhão is to bus which costs €55 - €110 and takes 11h 3m.
The fastest way to get from Madrid to Olhão is to fly which takes 4h 33m and costs €30 - €180.
No, there is no direct bus from Madrid to Olhão. However, there are services departing from Estación Sur de Autobuses and arriving at Terminal Rodoviário de Olhão via Sevilla - Plaza de Armas and Faro - Terminal Rodoviário. The journey, including transfers, takes approximately 11h 3m.
The distance between Madrid and Olhão is 664 km. The road distance is 670.3 km.
The best way to get from Madrid to Olhão without a car is to train and bus via Seville which takes 6h 55m and costs €55 - €160.
It takes approximately 6h 55m to get from Madrid to Olhão, including transfers.
Madrid to Olhão bus services, operated by Socibus, depart from Estación Sur de Autobuses station.
The best way to get from Madrid to Olhão is to bus which takes 11h 3m and costs €55 - €110. Alternatively, you can fly, which costs €30 - €180 and takes 4h 33m.
Madrid to Olhão bus services, operated by Socibus, arrive at Sevilla, Estación de Autobuses station.
Olhão is 1h behind Madrid. It is currently 1:23 PM in Madrid and 12:23 PM in Olhão.
What companies run services between Madrid, Spain and Olhão, Portugal?
You can take a bus from Estación Sur de Autobuses to Terminal Rodoviário de Olhão via Sevilla - Plaza de Armas and Faro - Terminal Rodoviário in around 11h 3m. Alternatively, Ryanair, Iberia, and two other airlines fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Faro Airport (FAO) 4 times a day.
- Website
- ryanair.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Faro Airport
- Ave. Duration
- 1h 25m
- When
- Every day
- Estimated price
- €26–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
- €26–150
- Website
- iberia.com
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–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Seville Airport
- Ave. Duration
- 1h 14m
- When
- Every day
- Estimated price
- €22–95
- Website
- aireuropa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Seville Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €25–90
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Sevilla-Santa Justa
- Ave. Duration
- 2h 39m
- Frequency
- Hourly
- Estimated price
- €70–130
- Website
- https://www.renfe.com/es/en
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Sevilla-Santa Justa
- Ave. Duration
- 3h 9m
- Frequency
- Hourly
- Estimated price
- €60–95
- Website
- https://www.renfe.com/es/en
Train from Madrid-Puerta de Atocha-Almudena Grandes to Huelva
- Ave. Duration
- 3h 57m
- Frequency
- 4 times a day
- Estimated price
- €70–110
- Website
- https://www.renfe.com/es/en
- Phone
- +34 900 926 851
- [email protected]
- Website
- iryo.eu
Train from Madrid-Puerta de Atocha-Almudena Grandes to Sevilla-Santa Justa
- Ave. Duration
- 2h 52m
- Frequency
- Every 2 hours
- Estimated price
- €45–95
- Website
- https://iryo.eu/en/home
- Phone
- +34 900 759 781
- Website
- ouigo.com
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
- https://www.ouigo.com/es/en
- Phone
- +351 210 900 032
- Website
- cp.pt
Train from Vila Real De Santo Antonio to Olhao
- Ave. Duration
- 51 min
- Frequency
- Hourly
- Estimated price
- €4–10
- Website
- https://www.cp.pt/en/
- Phone
- +351 21 75 24 524
- Website
- rede-expressos.pt
Bus from Sevilla Santa Justa to Tavira
- Ave. Duration
- 2h 15m
- Frequency
- Twice daily
- Estimated price
- €12–29
- Website
- https://rede-expressos.pt/en
Bus from Sevilla - Plaza de Armas to Faro
- Ave. Duration
- 2h 31m
- Frequency
- 3 times a day
- Estimated price
- €14–35
- Website
- https://rede-expressos.pt/en
Bus from Huelva to Tavira
- Ave. Duration
- 1h
- Frequency
- Twice daily
- Estimated price
- €5–13
- Website
- https://rede-expressos.pt/en
Bus from Sevilla - Plaza de Armas to Tavira
- Ave. Duration
- 2h
- Frequency
- Twice daily
- Estimated price
- €12–29
- Website
- https://rede-expressos.pt/en
- Phone
- +34 915 304 417
- [email protected]
- Website
- socibusventas.es
Bus from Estación Sur de Autobuses to Sevilla, Estación de Autobuses
- Ave. Duration
- 6h 11m
- Frequency
- 3 times a day
- Estimated price
- €35–65
- Website
- https://socibusventas.es/en/
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- https://www.flixbus.fr
Bus from Sevilla - Plaza de Armas to Faro
- Ave. Duration
- 2h 35m
- Frequency
- Twice daily
- Estimated price
- €17–29
- Website
- https://www.flixbus.co.uk
- Phone
- +34 916 52 00 11
- [email protected]
- Website
- grupointerbus.com
Bus from Madrid Estación Sur de Autobuses to Ayamonte
- Ave. Duration
- 11h 23m
- Frequency
- 4 times a week
- Estimated price
- €65–120
- Schedules at
- grupointerbus.com
- Phone
- +34 652 525 168
- Website
- facebook.com
Ferry from Ayamonte to Vila Real de Santo António
- Ave. Duration
- 15 min
- Frequency
- Every 4 hours
- Estimated price
- €2–7
- Schedules at
- rioguadiana.net
- Bike
- €2
- Passenger
- €3
- Car
- €7
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
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
Yes, the driving distance between Madrid to Olhão is 670 km. It takes approximately 7h 2m to drive from Madrid to Olhão.
Book your Madrid to Olhão bus tickets online with Omio.
There are 4771+ hotels available in Olhão.


































