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€60–153Fly to Faro Airport
cheapest- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Faro Airport (FAO)plane MAD - FAO
4h 52m€34–177Bus
- Take the bus from Estación Sur de Autobuses to Sevilla, Estación de Autobusesbus Madrid
- Take the bus from Sevilla, Estación de Autobuses to Terminal Rodoviário de Tavirabus
10h 56m€54–110Drive 670.3 km
- Drive from Madrid to Olhãocar 670.3 km
7h 3m€106–152Train, bus
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Huelvatrain Alv / ...
- Take the bus from Huelva to Tavirabus
7h 9m€83–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€54–110Fly 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€47–125
Madrid to Olhão by train, bus, and foot
Questions & Answers
The cheapest way to get from Madrid to Olhão is to fly and bus which costs €45 - €130 and takes 7h 18m.
The fastest way to get from Madrid to Olhão is to fly which takes 4h 52m 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, Estación de Autobuses and Terminal Rodoviário de Tavira. The journey, including transfers, takes approximately 10h 56m.
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 €60 - €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 10h 56m and costs €50 - €110. Alternatively, you can fly, which costs €30 - €180 and takes 4h 52m.
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 10:24 AM in Madrid and 9:24 AM 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, Estación de Autobuses and Terminal Rodoviário de Tavira in around 10h 56m. 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
- €28–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Faro Airport via Porto
- Ave. Duration
- 3h 35m
- When
- Monday, Wednesday, and Sunday
- Estimated price
- €28–160
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Faro Airport
- Ave. Duration
- 1h 25m
- When
- Monday, Tuesday, Thursday, Friday, and Sunday
- Estimated price
- €30–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Seville Airport
- Ave. Duration
- 1h 13m
- When
- Every day
- Estimated price
- €23–75
- Website
- aireuropa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Seville Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €22–75
- Website
- flytap.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Faro Airport via Lisboa
- Ave. Duration
- 3h 45m
- When
- Tuesday to Friday
- Estimated price
- €40–140
- 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–120
- 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 45m
- Frequency
- Hourly
- Estimated price
- €50–100
- Website
- Iryo
- Phone
- +34 900 759 781
- Website
- Ouigo
Train from Madrid-Puerta de Atocha-Almudena Grandes to Sevilla-Santa Justa
- Ave. Duration
- 2h 41m
- Frequency
- Every 3 hours
- Estimated price
- €45–80
- Website
- Ouigo
- 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 Madrid-Puerta de Atocha-Almudena Grandes to Huelva
- Ave. Duration
- 3h 57m
- Frequency
- 4 times a day
- Estimated price
- €70–110
- Website
- Renfe Viajeros
- Phone
- +351 210 900 032
- Website
- Comboios de Portugal
Train from Vila Real De Santo Antonio to Olhao
- Ave. Duration
- 51 min
- Frequency
- Hourly
- Estimated price
- €4–10
- Website
- Comboios de Portugal
- Phone
- +351 21 75 24 524
- Website
- Rede Expressos
Bus from Sevilla Santa Justa to Tavira
- Ave. Duration
- 2h 15m
- Frequency
- Twice daily
- Estimated price
- €12–28
- Website
- Rede Expressos
Bus from Sevilla, Estación de Autobuses to Terminal Rodoviário de Tavira
- Ave. Duration
- 2h
- Frequency
- 5 times a day
- Estimated price
- €11–40
- Website
- Rede Expressos
- Adult
- €20–40
Bus from Huelva to Tavira
- Ave. Duration
- 1h
- Frequency
- Twice daily
- Estimated price
- €5–13
- Website
- Rede Expressos
Bus from Sevilla - Plaza de Armas to Tavira
- Ave. Duration
- 2h
- Frequency
- Twice daily
- Estimated price
- €12–28
- Website
- Rede Expressos
- Phone
- +34 915 304 417
- [email protected]
- Website
- Socibus
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
- Socibus
- 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
- €45–95
- 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
More Questions & Answers
Yes, the driving distance between Madrid to Olhão is 670 km. It takes approximately 7h 3m to drive from Madrid to Olhão.
Book your Madrid to Olhão bus tickets online with Omio.
There are 4733+ hotels available in Olhão.






























